KEMBAR78
Power Platform Developer | PDF | Mobile App | Application Software
100% found this document useful (1 vote)
1K views799 pages

Power Platform Developer

The document provides an overview of the Microsoft Power Platform, a low-code platform for building business solutions, detailing its core areas: Power Apps, Power Automate, Power BI, and Power Pages. It outlines the developer environment offered by the Power Apps Developer Plan, which allows users to create and test applications with various features and connectivity options. Additionally, it discusses the extensibility points for developers and the capacity limits of the developer environment.

Uploaded by

MaxL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
1K views799 pages

Power Platform Developer

The document provides an overview of the Microsoft Power Platform, a low-code platform for building business solutions, detailing its core areas: Power Apps, Power Automate, Power BI, and Power Pages. It outlines the developer environment offered by the Power Apps Developer Plan, which allows users to create and test applications with various features and connectivity options. Additionally, it discusses the extensibility points for developers and the capacity limits of the developer environment.

Uploaded by

MaxL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 799

Tell us about your PDF experience.

Microsoft Power Platform developer


documentation
Learn how to extend Microsoft Power Platform using code first components and
integrating with back-end services.

Get started

e OVERVIEW

Power Platform for developers

c HOW-TO GUIDE

Create a developer environment

d TRAINING

Introduction to developing with Power Platform

Fusion development

p CONCEPT

Fusion development

i REFERENCE

Fusion development ebook

d TRAINING

Transform business apps with fusion development

ALM for developers

i REFERENCE
Power Platform ALM basics

Build Tools for Azure DevOps

GitHub Actions

Power Platform CLI

Create packages using Package Deployer

Work with solutions using SDK

For ISVs

c HOW-TO GUIDE

Publish your app on AppSource

Tools for Developers

a DOWNLOAD

Power Platform CLI

Power Platform Tools for Visual Studio

ALM developer tools

Dataverse developer tools

Visual Studio connected service

Dataverse

i REFERENCE

Dataverse developer docs

Plug-ins

Webhooks

Custom APIs
Virtual tables

Power Apps

i REFERENCE

Canvas apps developer docs

Model-driven apps developer docs

Power Apps component framework

Custom connectors

JavaScript and the Client API

f QUICKSTART

Create a Canvas App front end for your ASP.NET web API (Preview)

Power Automate

i REFERENCE

Custom connectors

Use workflow definition functions

Use APIs with desktop flows

Power BI

i REFERENCE

Custom visuals

Use Power BI REST APIs

Analysis Services developer documentation

Copilot Studio
i REFERENCE

Bot Framework Composer

Power Pages

i REFERENCE

Custom page layouts

Work with Liquid templates

Power Pages Web API

Use Visual Studio Code and Power Platform CLI

Use code components


Introduction to Microsoft Power
Platform for developers
Article • 09/23/2024

Microsoft Power Platform is a low-code platform for rapidly building customized end-
to-end business solutions. It consists of four product areas: Power Apps, Power
Automate, Power BI, and Power Pages. Each area can be used individually or together.
United by the underlying Microsoft Dataverse technology, all areas are designed for a
connected experience to achieve your business goals, whether it's creating analytics,
process automation, or data-driven productivity applications.

The platform's low-code approach enables everyone in an organization—from frontline


workers to professional developers—to participate in the development of business
solutions that drive positive business outcomes. Developers can collaborate with citizen
developers to enhance business solutions and solve complex requirements by using the
platform's various extension capabilities with code. Thanks to a native integration with
Azure, developers can use their cloud development skills to extend Microsoft Power
Platform with different Azure services. With a low-code integrated development
approach, business goals can be achieved faster and frees up time for the developers.

As a developer interacting with the platform, it's important to understand the basics of
what the platform offers. In the following, you'll find a high-level overview of each of the
core product areas and their key extensibility points.

Power Apps
Apps created with Power Apps can be shared with internal users and can be run in a
browser or on a mobile device. You can create following types of apps: canvas and
model-driven.

Canvas apps
Provides the Power Apps maker with complete control over the pixel-perfect screen
contents and navigation between multiple screens. Canvas applications use different
connectors to work with data and services. Canvas applications can be embedded into
SharePoint, Teams, Power BI, and Dynamics 365 applications.

Key developer extensibility points


Build custom UI components using Power Apps component framework
Create custom connectors to communicate to your external data sources and
services. A custom connector is a wrapper around a REST API and can be
created using tools like Azure Functions and Azure API Management

Model-driven apps
Data-driven applications that are built on top of Microsoft Dataverse. Other data
sources and services can be used by model-driven applications by embedding a canvas
application.

Key developer extensibility points

Build custom UI components using Power Apps component framework


Implement client business logic using JavaScript and the client API
Build HTML web resources

Power Automate
Power Automate is used to automate tasks and orchestrate activities across various
services that use integrated or custom connectors. Using Power Automate you can
create cloud flows or desktop flows.

ノ Expand table

Type Description

Cloud Can be triggered manually, configured to run when specific events occur, such as
flows when a record is created, or scheduled to run at a specific time. Power Automate is
Type Description

built on top of Azure Logic Apps but offers unique integration with Microsoft Power
Platform.

Desktop Used to automate repetitive interactive tasks on the web or the desktop.
flows

Key developer extensibility points


Create custom connectors to communicate to your external data sources and
services. A custom connector is a wrapper around a REST API and can be
created using tools like Azure Functions and Azure API Management
Use workflow definition functions to build complex expressions

Power BI
Power BI is Microsoft's business analytics solution that provides interactive data
visualization BI tools to help users visualize and share data and insights across their
organization.

Key developer extensibility points


Embed Power BI in apps, websites, and portals
Create custom visuals using the open-source SDK

Power Pages
Power Pages is a secure, enterprise-grade, low-code software as a service (SaaS)
platform for creating, hosting, and administering modern external-facing business
websites. Low-code makers can rapidly design, configure, and publish websites that
seamlessly work across web browsers and devices. Professional developers can extend
these capabilities to address advanced business requirements.

Key developer extensibility points


Custom web page templates built with HTML, CSS, and Liquid
Extend site integration with Dataverse with the portals Web API
Use Visual Studio Code and the Power Platform CLI to enable metadata editing
and CI/CD (Continuous Integration/Continuous Deployment) of site
configurations
Dataverse
Dataverse is a cloud scale data store that builds on Microsoft's data technologies and
abstracts away data management complexity from the app maker. It lets you securely
store and manage data that is used by business applications. Business data within
Dataverse is stored within a set of data tables. Role-based security allows businesses to
control access to the data tables and even individual records for different users within
your organization. Developers can extend or customize Dataverse functionality by
adding custom business logic. You can define calculated table columns, business rules,
workflows, and business process flows to ensure data quality and drive business
processes.

Key developer extensibility points


Create plug-ins, similar to event handlers, that customize or extend Dataverse
data processing with custom business logic (code)
Use webhooks and Azure Service Bus to integrate with external systems
Extend the Dataverse API with your own custom API that implements your
business logic
Use virtual tables to integrate data stored in external systems into Dataverse
without replicating the data

See also
Create a developer environment
Fusion Development

Feedback
Was this page helpful?  Yes  No

Provide product feedback


About the Power Apps Developer Plan
Article • 04/17/2024

The Power Apps Developer Plan gives you a free development environment to build and
test with Power Apps, Power Automate, and Microsoft Dataverse. It enables you to:

Create apps and flows without writing code, with full-featured Power Apps and
Power Automate development tools. Easily share and collaborate on these
solutions with others.

Connect to any data source by using Power Platform connectors or by creating


your own custom connectors.

Use a fully managed, scalable data platform with Dataverse, including support for
common business application actions. Use out-of-the-box common tables or build
your own data schema.

Export the solutions you create in your developer environment, and publish them
on Microsoft AppSource so your customers can test-drive them.

Who can sign up for the Power Apps Developer


Plan?
Anyone with a work or school email address backed by Microsoft Entra ID can sign up
for the Power Apps Developer Plan.

How can I get the Power Apps Developer Plan?


You can get the plan using one of the following ways:

Sign up on the Power Apps Developer Plan website .

Get the Power Apps Developer Plan with Visual Studio Dev Essentials. If you're a
Visual Studio Dev Essentials user, the Power Apps Developer Plan is included in
your benefits. Visit My benefits and select the Power Apps tile to sign up for the
Power Apps Developer Plan.
Which features are included in the Power Apps
Developer Plan?
With the developer environment, you get the following functionality:

ノ Expand table

Functionalities Developer environment

Key features

Create and test apps Yes. You can create unlimited apps
for development and test purposes.

Share apps Yes

Use Dataverse Yes

Model your data using Dataverse Yes

Enterprise-grade administration of the environment and Yes


user policies

Connectivity

Connect to Office 365, Dynamics 365, and other Yes


connectors

Connect to cloud-based services like Azure SQL, Dropbox, Yes


Twitter, and many more

Use premium connectors like Salesforce, DB2 and many Yes


more
Functionalities Developer environment

Access on‐premises data using an on-premises gateway Yes

Create custom connectors to connect to your own Yes


systems

Dataverse

Create and run applications In Power Platform, Dynamics Yes


365, Teams, or Standalone using the .Net SDK or OData
API

Model your data in Dataverse Yes

Create a database in Dataverse Yes

Create and use dataflows No

Management

Add coworkers as environment makers and admins Yes

Add coworkers to the database roles Yes

Supports data policies established by the Office 365 Yes


administrator

Establish data policies for the developer environment Yes

What are the capacity limits for the developer


environment?
The following capacity limits apply to the developer environments:

ノ Expand table

Capacity Limits

Flow runs/month 750

Database size 2 GB

You can't increase capacity by applying add-ons to the quantities we include. If you hit
capacity limits, we recommend purchasing the Power Apps Per User Plan. Learn more
from the Power Apps pricing page .
7 Note

The capacity entitlements of the developer environment, whether used or not,


doesn't contribute to your company's overall quota.

Publishing to Microsoft AppSource


Do you have an app that you'd like to share with customers? We now support Power
Apps solutions on Microsoft AppSource as a way for you to share apps and flows with
customers, and generate leads for your business. For more information, see Publish your
app on AppSource.

FAQ
The following section lists frequently asked questions relevant to the Power Apps
Developer Plan. For more information about different types of environments including
the developer environment, see Types of environments in Power Platform.

What should I do if I reach the capacity limits of the


environment?
There's a limited capacity provided because this environment is meant for development
and test purposes, not for production use. The capacity limits are:

ノ Expand table

Capacity Limits

Flow runs/month 750

Database size 2 GB

If you reach one or more capacity limits, we recommend you purchase a plan that
supports production use. Learn more about our plans on the Power Apps pricing
page .

Can I transfer the apps, flows, and other resources


created in the developer environment to another
environment?
Yes, you should be able to export the resources from this environment to other
environments. For more information, see Solutions.

Will my Power Apps Developer Plan subscription ever


expire?
You can continue using your Power Apps Developer Plan for free as long as there's
active usage and no abuse of the plan (for example, apps aren't used for production
purposes and the capacity limits aren't exceeded). Environments created using Power
Apps Developer Plan that are inactive for the last 90 days will be deleted after notifying
the environment owners.

Can I get or create multiple developer environments?


Yes. You have one developer environment, which is created for you by Power Platform
when you sign up for the Developer Plan. You can create up to three environments in
the Power Platform admin center .

What's the difference between the Power Apps Plan Trial


and Power Apps Developer Plan? Which one should I sign
up for?
Both Power Apps Plan Trial and Power Apps Developer Plan are free, but are created for
different purposes:

Power Apps Plan Trial gives you the Power Apps per user plan for 30 days. This
duration is meant for trying out production Power Apps applications. Once your
trial expires, you can purchase a plan. If you're already using Power Apps with
Office 365 or Dynamics 365, this is the right plan to test the premium
functionalities of Power Apps, which are available with paid Power Apps plans.

Power Apps Developer Plan gives you access to the same Power Apps
functionality available in paid plans (aligned with Trials), including Dataverse and
Power Automate, but in a developer environment meant for development and test
use only. A paid plan is required to deploy or run solutions in a production
environment for production use.

Can I sign up with my personal account?


No, we currently don't support signing up with a personal account. You can only sign up
with your work or school account.

Which kind of license do I need to get Developer


Environment?
You need a Power Apps Developer plan to get a developer environment. This Developer
plan is a viral/internal license that your admin needs to enable so that it can be assigned
in the tenant. The license is assigned and verified during signup. The tenant must allow
for viral or internal licenses for developer environment to be provisioned.

To verify if the respective policy is already allowed, admin can use the Get-
AllowedConsentPlans (Microsoft.PowerApps.Administration.PowerShell) PowerShell
cmdlet.
To modify the policy, admin can use the Add-AllowedConsentPlans
(Microsoft.PowerApps.Administration.PowerShell) PowerShell cmdlet.

Can I reset or delete my developer environment?


Yes. The owner of the developer environment, or users with the permission to delete an
environment can delete a developer environment.

Makers can also reset the developer environment through the Power Platform admin
center .

Can I prevent users from creating developer


environments?
Yes. To prevent users from creating developer environments, go to Control environment
creation.

Does the developer environment get auto-created with a


developer plan?
Yes. A developer environment is created when the user signs up for the developer plan
using any of the experiences in the Power Apps Developer Plan website , Power
Apps , or Power Platform admin center . However, when you delete a developer
environment, or you need more developer environments, you need to create them
manually.
Does the Power Apps Developer plan include Power
Automate RPA use rights?
No. However, users may start a Power Automate trial including RPA use rights to try out
RPA capabilities. Power Apps Developer plan includes cloud flow use rights since these
can be connected to an act as an extension of Power Apps apps.

Does the Power Apps Developer plan include AI Builder


use rights?
No. However, users may start an AI Builder trial to try out the AI Builder capabilities.

Can a developer environment be a managed


environment?
The developer environment can become a managed environment. However, managed
environment use rights aren't included in the developer plan. As a result, end users
require premium licenses in order to run their assets in a managed developer
environment.

Why does a banner appear with apps running in the


developer environment?
Since developer environments aren't intended to support production scenarios, apps
display a temporary banner to remind makers about them running in a developer
environment. This banner will no longer appear if you move the app from a developer
environment to a non-developer environment.

Can I launch a premium app with a Power Apps


Developer Plan in non-Developer environments?
No. You can't use the Power Apps Developer Plan to launch premium apps that aren't in
a Developer environment. You need a valid Power Apps premium entitlement. Learn
more about Power Apps plans.
Are Managed Environment use rights included in the
Developer Plan?
Managed Environment isn't included as an entitlement in the Developer Plan when users
run their assets. In other words, users—including makers running their own apps or
flows—need a premium license in addition to the developer plan to run their assets in a
managed, developer environment.

Are Dynamics 365 apps available in a developer


environment?
No. Dynamics 365 apps can't be installed in a developer environment. You'll see the
following message when you try to install them:

"Installing Dynamics 365 apps such as Dynamics 365 Sales and Dynamics 365 Customer
Service is only supported on environments that have been created with a database with
the option to Enable Dynamics 365 apps set to "Yes". Try installing this application in an
environment with a database and Enable Dynamics 365 apps enabled on it."

If you want to explore Dynamics 365 apps, refer to the app-specific documentation for
free trials, or to install them on existing environments.

Are users automatically added to a developer


environment?
No. Users are not automatically added to the developer environment, they need to be
added manually.

Improvements from the previous Power Apps


Community Plan
In May 2021, we extended the capabilities of the Power Apps Community Plan to meet
the needs of developers and rebranded it as the Power Apps Developer Plan.

Key changes include:

The ability to share apps with team members for development and testing
purposes
Increased capacity allocations
The ability to create up to three environments
7 Note

Existing Power Apps Community Plan users will also get all of these updates.

Next step

Create a developer environment with the Power Apps Developer Plan

See also
Power Platform for developers
Fusion Development

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Create a developer environment with
the Power Apps Developer Plan
Article • 12/17/2024

To fully use the Power Apps Developer Plan as a developer, you need an Azure account
and a work account. This article guides you through the process for creating a Power
Platform environment and a test tenant if needed.

Where do I start?
If you have a work account, and want to use it to learn Power Platform, go to the next
section.

If you don't have a work account or prefer a Sandbox tenant to learn Power Platform,
read information in the create a test tenant section later in this article before signing up
for the developer environment.

Sign up for the Power Apps Developer Plan


The Power Apps Developer Plan gives you a free development environment to build and
test with Power Apps, Power Automate, and Microsoft Dataverse.

It's simple to sign up for the Power Apps Developer Plan:

1. Ensure that you have a work account. If you don't, create a test tenant first.

2. Sign up on the Power Apps Developer Plan website .


After signing up for the Developer Plan, you'll be redirected to Power Apps . The
environment uses your name, for example John Doe's environment. If there's
already an environment with that name, the developer new environment is named
John Doe's (1) environment.

) Important

Use the developer environment instead of your tenant's default environment


to work with certain capabilities such as premium and custom connectors.
You might need to select your developer environment from the top-right
corner of the screen in Power Apps.
It might take a couple of minutes for the new environment to be provisioned
and become available in the list of the environments. You can see the
progress of the environment creation in the Power Platform admin center .
In some situations, your admin might have turned off the sign up process. In
this case, please contact your administrator, or create a test tenant.
For detailed information about the developer plan, go to Sign up for the Power Apps
Developer Plan.

How to create a test tenant?


If you don't already have a dedicated test tenant, you might qualify for one through the
Microsoft 365 Developer Program; for details, see the FAQ. Alternatively, you can sign
up for a one-month free trial or purchase a Microsoft 365 plan .

You can also manually create a test tenant.

Now that you have your test tenant, sign up for the Power Apps Developer Plan as
explained earlier in this article.

See also
Power Platform for developers
Fusion Development

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Fusion development in Power Platform
Article • 11/09/2022

Fusion development or fusion teams development, is defined by Gartner as "distributed


and multidisciplinary digital business teams that blend technology and other types of
domain expertise." (Source: 2019 Gartner Digital Business Teams Survey)

Fusion Development is an approach with the main goal of scaling application


development through low-code. Fusion development allows your business to build
better applications, faster by bringing together professional developers with citizen, or
low-code, developers. It can also mean using low-code capabilities and combine them
with code-first components to meet business needs and create Fusion applications.

Personas for fusion development


Below you can find the personas and the definition in a fusion team:

ノ Expand table
Persona Description

Citizen developer or A business user with business knowledge looking for ways to improve a
maker business process. Use visual, drag and drop and low code tools. Usually
don't have a technical background.

Professional developer Pro devs use pro dev tools to accomplish pro dev tasks. For example,
or code-first developer write code in Visual Studio or Visual Studio Code using programming
languages like C# or JavaScript.

IT professional or An IT professional responsible for the application lifecycle management


DevOps engineer (ALM) of business applications.

) Important

Our goal is to empower diverse groups of people with different skill sets and boost
velocity by scaling solution development through low-code. The Microsoft Power
Platform is a tool in your tool set. We want to help you work more efficiently and
focus on tasks that match your desired skill level.

Empowering citizen developer can enable pro developers to focus on specialized


problems, avoiding simple and repetitive tasks that can be performed by the citizen
developer.

Collaboration
Power Platform is designed to empower fusion teams allowing three key audiences to
come together.
 Tip

Low-code and pro-dev tools should integrate smoothly to enable different groups
of people to work together effectively.

The role of the professional developer and IT professional is to create a secure and
governed environment where citizen developer can be empowered to achieve more
with minimum friction. Everyone should use citizen maker tools to accomplish citizen
maker tasks. For example, pro devs use same visual tooling as citizen makers when
creating apps on Power Platform.

See Also
Create a developer environment
Fusion Development ebook
Power Platform ALM for developers
Power Platform for developers

Feedback
Was this page helpful?  Yes  No

Provide product feedback


ALM for developers
Article • 02/05/2025

The articles in this section describe how you as a developer can use available APIs, tools,
and other resources to implement application lifecycle management (ALM) using
Microsoft Power Platform.

We'll start off talking a little about team development and then dive into Azure DevOps
and available build tools.

To learn more about key ALM concepts and working with solutions, go to Overview of
application lifecycle management and watch the following video.

https://learn-video.azurefd.net/vod/player?ev=powerful-devs-
conference&session=how-to-do-alm-with-power-platform&locale=en-
us&embedUrl=%2Fpower-platform%2Falm%2Falm-for-developers

Team development
When we refer to team development, we're talking about multiple developers
collaborating in the same environment versus multiple developers working on the same
application and sharing source code. For team development, it's a good practice to use
tooling or processes to achieve developer isolation.

More information: Scenario 5: Supporting team development

Conflict management
For team development, the goal is to avoid conflict when making changes to shared
code. With a source control system, branching and merging help to avoid change
conflicts and keep team members from affecting each other with partially completed
work in a shared repo.

Another method is to use strategies to avoid conflict. For example, you can have only
one person at a time work on a complex component, to avoid a merge conflict that a
source control system might not automatically be able to resolve.

Working with complex components


What are complex components? Examples include forms, canvas apps, flows, and
workflows.

Coordinate efforts with other team members to avoid having more than one developer
work on the same form or component at a time. If you do have multiple developers
working on the same canvas app, have them work on separate components to avoid
conflict.

See also
Microsoft Power Platform Build Tools for Azure DevOps
Power Platform developer docs

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Publish your app on AppSource
Article • 04/04/2023

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 Power Apps 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: Create a Microsoft Partner Center account

Step 2: Create a managed solution for your app

Step 3: Create an AppSource package for your app

Step 4: 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.

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: Create a Microsoft Partner
Center account
Article • 04/04/2023

If you are not already a member of the Microsoft Partner Center, you must become a
member by enrolling at https://aka.ms/joinmarketplace .

You must be a member of Partner Center to publish apps on AppSource.

Step 2: Create a managed solution for your app

See also
Microsoft commercial marketplace
Create a commercial marketplace account in Partner Center
Step 2: Create a managed solution for
your app
Article • 04/04/2023

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:

Solution concepts
Create a solution

You can also work with solutions using code: Create, export, or import an unmanaged
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 columns 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.
Export the solution
Proceed with exporting the solution from the environment. When exporting the
solution, choose to export as a managed solution. More information: Export solutions

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 now have a managed solution file (example: SampleSolution.zip) and optionally
a demo data file (example: SampleData.zip) for your app.

Optional licensing information: If you wish to add licensing information to your


solution, see Appendix: Add licensing information to your solution

Step 3: Create an AppSource package for your app


Step 3: Create an AppSource package for your app
Article • 05/22/2023

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:

ノ Expand table

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 Microsoft Dataverse instance. For more information about creating a package file, see Create packages for
the 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

<?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" />
<Default Extension="json" ContentType="application/octet-stream" />
<Default Extension="msapp" 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

<?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/2031</EndDate>
<SupportedCountries>US,CA</SupportedCountries>
<LearnMoreLink>https://www.microsoft.com</LearnMoreLink>
<Locales>
<PackageLocale Code="1033" IsDefault="true">
<Logo>logo32x32.png</Logo>
<Terms>
<PackageTerm File="TermsOfUse.html" />
</Terms>
</PackageLocale>
</Locales>
</PvsPackageData>

) Important

All attributes of XML elements are case sensitive.

Here is a description of the elements in the Input.xml file.

ノ Expand table

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:
AD,AE,AF,AG,AI,AL,AM,AO,AQ,AR,AS,AT,AU,AW,AX,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BL,BM,BN,BO,BR,BS,BT,BV,BW,BY,
BZ,CA,CC,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CV,CW,CX,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ER,ES,ET,FI,FJ,FK,FM,
FO,FR,GA,GB,GD,GE,GF,GG,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,GU,GW,GY,HK,HM,HN,HR,HT,HU,ID,IE,IL,IM,IN,IO,IQ,IS,
IT,JE,JM,JO,JP,KE,KG,KH,KI,KM,KN,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MF,MG,MH,MK,ML,
MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,
PN,PR,PS,PT,PW,PY,QA,RE,RO,RS,RU,RW,SA,SB,SC,SE,SG,SH,SI,SJ,SK,SL,SM,SN,SO,SR,ST,SV,SZ,TC,TD,TF,TG,TH,TJ,
TK,TL,TM,TN,TO,TR,TT,TV,TW,TZ,UA,UG,UM,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,WS,YE,YT,ZA,ZM,ZW

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
Note: Please make sure to have same locale codes in both solution.xml and input.xml files.
- 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.

) Important

For the SupportedCountries element, ensure not to have any spaces and new line keywords between the country codes.

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 4: Store your AppSource Package on Azure Storage and generate a URL with SAS key
Step 4: Store your AppSource Package
on Azure Storage and generate a URL
with SAS key
Article • 04/04/2023

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
https://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 columns 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
3: 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 Partner Center.

Next steps: Submit your app on Partner Center


Next steps: Submit your app on Partner
Center
Article • 04/04/2023

Your app is ready for submission after completing steps 1-4.

Sign in to Partner Center to create an offer and 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
Article • 04/04/2023

Use the following checklist to evaluate your app design.

ノ Expand table

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 The color and UI design are uniform and presentable
design scheme

4 Ease of use for users The solution is intuitive and easy to use with minimal
directions

5 Minimum number of All use-cases could be achieved in minimum number of


screens to achieve a use- screens and steps
case

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 is presented is most accessible format


information 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
Article • 04/04/2023

The following checklist provides the list of validations performed by Microsoft during
the certification process after you submit your app.

ノ Expand table

Apps Validation Certification checklist


Type

Model-driven Sanity Check Check for app registration type: Free, Trial or Contact
apps, canvas me.
apps, and flows Verify the submitted package contains all the artifacts
that connect to required to publish on AppSource.
Microsoft Download the end-to-end (E2E) functional document
Dataverse from Partner Center and validate if document is
updated with functional scenarios and user/admin
journey.

Code Code validation for canvas apps will be done through


Validation Accessibility Checker tool in Power Apps 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 Dataverse solution will be done
utilizing Power Apps Checker.
Issues reported from Power Apps Checker will be
manually validated for correctness and false positive
issues will be reduced to low severity.
The quality of the solution and packages are validated
against the AppSource certification ruleset.
Generated report is shared with the publisher through
email.

Deployment Solution will be installed to a Power Apps studio using


Validation 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 Power Apps studio to validate
successful uninstallation
Check the canvas app successfully connects through
the connectors provided by the publishers. For
example, Dataverse or any other connections.
Check all Dataverse components (tables, 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 Validate the functionality of the app based on the


Validation functional document shared by the publisher. All the
features that are implemented in the app should pass.
Publisher should submit E2E functional document
through Partner Center 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 Check whether canvas app connects to any external


Validation 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 Power Apps 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.
Publisher can run code in their package as part of
deployment.
Publisher can access anything that the deploying
customer can access inside the Dataverse instance
whwre the deployment is happening.
Publisher can add service accounts to Dataverse with
a consent flow disclosing that the service account is
being added. This generally requires Single Page
Application, and in case of first parties, the consent is
automatic.
Any service account added to the customers tenant
should not be granted Maker, System Admin, or
System customizer security roles. Publisher should
have a custom security role that provides least
privilege access for the action.

Canvas apps and Sanity Check Check canvas app contains a valid .msapp file.
flows that connect Check the package folder has all required
to data sources components like manifest, Jason and other image
other than components.
Dataverse

Code Same as explained earlier for model-driven apps,


Validation canvas apps, and flows that connect to Dataverse

Deployment Canvas app will be manually installed to a Power Apps


Validation 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 Power Apps studio to validate successful
uninstallation.
Check that the canvas app successfully connects the
connectors provided by the publishers.

Functionality Same as explained earlier for model-driven apps,


Validation canvas apps, and flows that connect to Dataverse

Security Same as explained earlier for model-driven apps,


Validation canvas apps, and flows that connect to Dataverse

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

See also
Partner Center documentation
Appendix: Add licensing information to
your solution
Article • 04/04/2023

This article is related to the license management capability that Microsoft provides for
ISVs to manage and enforce licenses for their products. More information: ISV app
license management

This article outlines how to add licensing information to a Microsoft Dataverse solution,
package it, and upload the solution zip file to Microsoft AppSource. More information:
Step 3: Create an AppSource package for your app.

The following steps are required to add license information to your solution:

Clone existing solution.


Use Microsoft Power Platform CLI to add license information to the solution.
Build the solution, package it, and upload the zip file to AppSource.

Download the latest version of Microsoft Power


Platform CLI
You can learn how to download the Power Platform CLI in this article:What is Microsoft
Power Platform CLI?.

Microsoft Power Platform CLI tool includes the pac solution add-license command for
adding licensing information to the solution.

Clone a solution
Use Microsoft Power Platform CLI commands to clone the solution. To clone a solution:

1. Create an authentication profile for the environment where you want to add your
solution by using the pac auth create command:

CLI

pac auth create --name <name of your choice> --kind Dataverse -–url
<your dataverse url> --username <your username> --password <your
password>`
2. Clone the existing solution by using the pac solution clone command:

CLI

pac solution clone --name <your solution name> --outputDirectory <your


chosen output directory>

You should now have a solution project in the specified output folder.

Create licensing files


To add licensing information to your solution, you need to create two .CSV files using
the text editor of your choice. The following are the two files that you need to create:

Plan definition file: Define the details of the plans you created in the Partner
Center.
Plan mapping file: Maps those plans to the components of your solution.

In this article, we will create these two CSV files for an example solution called F365. This
solution contains several model-driven apps for which we want to restrict access to via
license management. We will follow a Russian doll licensing model for this solution as
shown in the following table:

ノ Expand table

Plan Gets access to

Gold plan Gold App, Silver App, Bronze App

Silver plan Silver App, Bronze App

Bronze plan Bronze App


To add licensing information to your solution, you need to create plans in the Partner
Center. More information: Create plans in Partner Center.

Once you're finished creating the plans, each plan creates a Service ID value which is
required while creating Plan definition file.

7 Note

Currently model-driven apps are the only types of solution components that can be
mapped to licenses. In future releases, we plan to add support for other component
types such as canvas apps and tables.
Plan definition file
The plan definition file must include the following columns laid out in the format shown
in the example below:

Service ID: This is created automatically when you create a plan in the Partner Center as
part of the offer creation. Copy it from partner center into the plan definition file. More
information: Create plans in Partner Center.

Display Name: This is a descriptive name for your plan which you can choose. It will be
shown to users on license check error screens so it should be easily recognizable to your
customers.

More info URL: This is a URL where you would like to direct users to get more
information about your solution, in the event they run into a license check error.

Plan mapping file


The plan mapping file must include the following columns laid out in the format shown
in the example below:

Service ID: This is created automatically when you create a plan in the Partner Center as
part of the offer creation. Copy it from partner center into the plan definition file. More
information: Create plans in Partner Center.

Component name: The solution component that you would like to restrict access to
using license management. This name must match the name of the component in the
Name column in the Power Apps solution viewer (image above).

Once you have created your own licensing CSV files, the next step is to add the
information from these files to your solution.
Add licensing information
To add the license information from the CSV files (created above) to the solution:

1. Using a command window, navigate to the location where you have cloned
solution. Use the pac solution add-license command:

CLI

pac solution add-license -pd <path to plan definition file> -pm <path
to plan mapping file>

2. To check whether the licensing information is added, navigate to the location


where you have cloned your solution zip file, you should see a new folder
ServicePlans is created with two XML files.

3. Optional: To determine how the license information from the CSV files was
captured, open the XML files in your favorite editor.

The ServicePlans.xml file contains the plan definition information from the
plan definition file.
The ServicePlansAppModules.xml file contains the plan mapping
information from the plan mapping file.

Build the solution and create an AppSource


package
1. To create the solution zip file, execute the MSBuild command shown below from
the project folder. MSBuild is included in Visual Studio installations.

msbuild

msbuild /t:build /restore -p:Configuration=Release

The resulting solution zip file can be found in the bin/Release folder of the project.

2. To validate whether the licensing information is included, after the solution is built,
look for the licensing information in your solution customizations.xml file.

3. Import the unmanaged solution you just built into an environment, and then
export it as a managed solution.
You may delete the imported solution from the environment afterwards since it is
no longer needed. More information: Import solutions, Export solutions

4. To create the AppSource package, see Step 3: Create an AppSource package for
your app.

See also
Step 2: Create a managed solution for your app
Appendix: App certification checklist

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Catalog in Power Platform for
developers
Article • 11/06/2024

The catalog in Power Platform enables developers and makers to:

Crowd-source and find templates and components within their environment easily.
Find and install the latest and authoritative version of a component.
Get started with templates and components that provide immediate value.

Learn more about the catalog in Power Platform

Application makers and developers can submit items to the catalog so that they can
help their colleagues solve business problems. This can be done using the manager app.
More information: View, submit, and install catalog items

The articles in this section describe how developers can view, submit, and install catalog
items programmatically.

Get started
If you don't have the system administrator security role, contact your administrator to
grant access to the catalog. You need the Catalog Submitter security role to be
associated with your user account or a team that you belong to. More information: Edit
user access

7 Note

Before you can work with catalog items, you must install and configure it. Set up
the catalog

APIs and commands you can use


Articles in this section describe three different ways to perform operations with the
catalog. Use the one that best suites your skills and the requirements of your project.

ノ Expand table
Method Description

PAC CLI Provides commands to perform many operations. You need to:
- Install the PAC CLI.
- Create an authentication profile using the pac auth create command.

SDK for .NET For .NET client applications. Learn more about the SDK for .NET

Dataverse For any client application.


Web API Examples in this section use PowerShell functions as described in Use PowerShell
and Visual Studio Code with the Dataverse Web API
Learn more about the Microsoft Dataverse Web API

Next steps
Retrieve data about the catalog

See also
Catalog in Power Platform
View, submit, and install catalog items
Administer the catalog

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Retrieve data about the catalog in
Power Platform
Article • 11/06/2024

To retrieve data about the catalogs for your tenant, you need to determine which
environments have catalogs installed. Then you can retrieve data from that environment
about the catalog by querying the tables or API designed to provide this information.

Most tenants only install one catalog, but it's possible to install a catalog on multiple
environments in the tenant.

Find environments with catalogs in your tenant


Use the pac admin list command to view the environments with catalogs in your tenant.

7 Note

This command requires an administrator authentication profile.

When using this command, you must use the following --application parameter with
the value 83a35943-cb41-4266-b7d2-81d60f383695 . This value is the application ID
associated with the catalog.

PowerShell

PS C:\Users\you> pac admin list --application 83a35943-cb41-4266-b7d2-


81d60f383695
Connected as you@yourorg.onmicrosoft.com

Listing all environments from your tenant...


Active Environment Environment ID Environment Url
Type Organization ID
* Your Org b16bdb7a-e023-4158-a839-4f8831ed2432
https://yourorg.crm.dynamics.com/ Production e20be4c1-02ce-4e81-93c6-
6e95ff053943

Catalog tables
When you install the Power Platform Catalog manager application in an environment in
your tenant, the tables listed in the Catalog in Power Platform table/entity reference are
added to that environment only.

Some of the most important tables you might use are in the following table:

ノ Expand table

Table Description

Approval Request Contains Approval records that are used to process new
(mspcat_certificationrequest) or updated submissions to the catalog system.

Catalog Publisher (mspcat_publisher) The publisher Entity for holding TPS Publisher data.

Catalog Item (mspcat_applications) Entry that appears in the Catalog

Package (mspcat_packages) Deployment Assets for a Catalog Item.

Install History (mspcat_InstallHistory) Contains record of installations and their status

Install Activity (mspcat_InstallActivity) Install History Activity IDs

View catalog information


There are two Dataverse messages you can use to get information about the catalog.

mspcat_GetPowerCatalogInformation This message is intended to be fast and

provide the minimal permissions and descriptive data for the catalog.
mspcat_GetPowerCatalogDetails Use the contents of this message to populate the

submission document and set the labels for what a Catalog Item and a Publisher
should be called for this catalog.

mspcat_GetPowerCatalogInformation
The mspcat_GetPowerCatalogInformation message has a single permissionsonly boolean
parameter and returns the following information defined by the
mspcat_GetPowerCatalogInformationResponse complex type:

ノ Expand table

Name Type Description

SolutionVersion string Version of the catalog solution installed

CatalogDescription string Describes what this catalog is for


Name Type Description

CanRead bool Can the user read the items in the catalog

CatalogName string Name of the catalog installed on this environment

ImageLink string If set, is the image for the catalog

CanSubmit bool Can the user submit items to the catalog

If the permissionsonly boolean parameter is true, the CatalogDescription , CatalogName ,


and ImageLink values aren't returned. SolutionVersion , CanRead , and CanSubmit values
are always returned.

SDK for .NET

The following GetPowerCatalogInformationExample static method retrieves data


using the mspcat_GetPowerCatalogInformationRequest and
mspcat_GetPowerCatalogInformationResponse classes generated for the
mspcat_GetPowerCatalogInformation message by the pac modelbuilder build

command.

C#

/// <summary>
/// Returns data about the catalog for an environment
/// </summary>
/// <param name="service">The authenticated IOrganizationService
instance.</param>
/// <param name="permissionsonly">Whether to only return information
about permissions.</param>
static void GetPowerCatalogInformationExample(IOrganizationService
service, bool permissionsonly = false)
{
var request = new mspcat_GetPowerCatalogInformationRequest();
if (permissionsonly) {
request.permissionsonly = true;
}
var response =
(mspcat_GetPowerCatalogInformationResponse)service.Execute(request);

Console.WriteLine($"SolutionVersion: {response.SolutionVersion}");
Console.WriteLine($"CatalogDescription:
{response.CatalogDescription}");
Console.WriteLine($"CanRead: {response.CanRead}");
Console.WriteLine($"CatalogName: {response.CatalogName}");
Console.WriteLine($"ImageLink: {response.ImageLink}");
Console.WriteLine($"CanSubmit: {response.CanSubmit}");
}

Output

With permissionsonly equal false.

SolutionVersion: 1.1.24.500
CatalogDescription: Catalog in Power Platform applications created by
your company.
CanRead: True
CatalogName: Default Catalog Name
ImageLink:
CanSubmit: True

Generate early-bound classes for the SDK for .NET


Use the Dataverse SDK for .NET

mspcat_GetPowerCatalogDetails
Use the information returned by mspcat_GetPowerCatalogDetails to populate the
submission document and set the labels for what a catalog item and a publisher should
be called for this catalog.

This function returns an object with a single CatalogDetails string property that
contains an encoded string. When decoded, the string contains JSON data with the
following properties:

ノ Expand table

Name Type Description

catalogId string The unique ID of the catalog

isSuccess string For internal use only.

sourceOptions option The options from the


array mspcat_certificationrequest_requestsource global
choice.

categoryOptions option The options from the


array mspcat_catalogbusinesscategory global choice.
Name Type Description

publisherLocalizedDisplayName string The localized name of the catalog publisher.

catalogItemLocalizedDisplayName string The localized name used to refer to catalog items.

SDK for .NET

The following GetPowerCatalogDetailsExample static method retrieves data using


the mspcat_GetPowerCatalogDetailsRequest and
mspcat_GetPowerCatalogDetailsResponse classes generated for the

mspcat_GetPowerCatalogDetails message by the pac modelbuilder build command.

C#

/// <summary>
/// Outputs details of the catalog in Power Platform.
/// </summary>
/// <param name="service">The authenticated IOrganizationService
instance.</param>
static void GetPowerCatalogDetailsExample(IOrganizationService service)
{

var request = new mspcat_GetPowerCatalogDetailsRequest();


var response =
(mspcat_GetPowerCatalogDetailsResponse)service.Execute(request);

JsonDocument catalogDetails =
JsonDocument.Parse(response.CatalogDetails);

string catalogId =
catalogDetails.RootElement.GetProperty("catalogId").GetString();
bool isSuccess =
catalogDetails.RootElement.GetProperty("isSuccess").GetBoolean();
JsonElement sourceOptions =
catalogDetails.RootElement.GetProperty("sourceOptions");
JsonElement categoryOptions =
catalogDetails.RootElement.GetProperty("categoryOptions");
string publisherLocalizedDisplayName =
catalogDetails.RootElement.GetProperty("publisherLocalizedDisplayName").
GetString();
string catalogItemLocalizedDisplayName =
catalogDetails.RootElement.GetProperty("catalogItemLocalizedDisplayName"
).GetString();

Console.WriteLine($"catalogId: {catalogId}");
Console.WriteLine($"isSuccess: {isSuccess}");
Console.WriteLine("sourceOptions:");
foreach (JsonElement element in sourceOptions.EnumerateArray())
{
int id = element.GetProperty("id").GetInt32();
string label =
element.GetProperty("userLocalziedLabel").GetString();
Console.WriteLine($" {id} {label}");
}
Console.WriteLine("categoryOptions:");
foreach (JsonElement element in categoryOptions.EnumerateArray())
{
int id = element.GetProperty("id").GetInt32();
string label =
element.GetProperty("userLocalziedLabel").GetString();
Console.WriteLine($" {id} {label}");
}
Console.WriteLine($"publisherLocalizedDisplayName:
{publisherLocalizedDisplayName}");
Console.WriteLine($"catalogItemLocalizedDisplayName:
{catalogItemLocalizedDisplayName}");
}

Output

The static GetPowerCatalogDetailsExample method writes something like this to the


console:

.NET CLI

catalogId: 883278f5-07af-45eb-a0bc-3fea67caa544
isSuccess: True
sourceOptions:
526430000 Other
526430001 Power Automate Maker Portal
526430002 Power Platform Maker Portal
526430003 Power Virtual Agents Maker Portal
526430004 Power Platform Admin API
526430005 PAC CLI
526430006 PAC Build Task
526430007 Pipelines in Power Platform
categoryOptions:
526430000 Customer Service
526430001 Project Management
526430002 Calendar Management & Scheduling
526430003 Email Management
526430004 Files & Documentation
526430005 Notification & Reminders
526430006 Analytics
526430007 Collaboration
526430008 Commerce
526430009 Finance
526430010 Compliance & Legal
526430011 Sales
526430012 IT Tools
526430013 Marketing
526430014 Operations & Supply Chain
526430015 Internet of Things
526430016 AI Machine Learning
526430017 Geolocation
526430018 Human Resources
publisherLocalizedDisplayName: Catalog Publisher
catalogItemLocalizedDisplayName: Catalog Item

Generate early-bound classes for the SDK for .NET


Use the Dataverse SDK for .NET

View items in the catalog


You can discover items in the catalog using PAC CLI or by querying the Catalog Item
(mspcat_applications) table.

Using PAC CLI


Use the pac catalog list command to view items in the catalog.

PowerShell

pac catalog list


Connected to... TestCatalog
Connected as user@domain
Listing all published catalog items from the current Dataverse
Organization...
Catalog Item Name Publisher Name Catalog Item
Id Revision Id Version Status
Contoso Conference Custom Connector Catalog Conferences Team
ContosoConferencesCustomConnector 4e882dd6-74f3-ed11-8849-000d3a0a286b
1.0.0.1 Published
Contoso Themed Components ContosoPublisher
ContosoThemedComponents efbc469d-f1b2-ed11-83fd-000d3a0a2d9d
1.0.0.1 Published

You can also use these parameters to filter returned records:

ノ Expand table

parameter alias description

--catalog-item- -cid Catalog item ID to search for. When catalog item ID is used, any --
id catalog-item-name parameter values are ignored.

--catalog-item- -n Catalog item name to search for.


parameter alias description

name

--include- -ia Include active items.


active

Use the --json parameter to return JSON data.

Use the --environment ( -env ) parameter to query a catalog in a different environment.

Query Dataverse tables


Information about catalog items is in the Catalog Item (mspcat_applications) table, so
you can retrieve data from it as you would any Dataverse table.

SDK for .NET

The following static RetrieveCatalogItems method retrieves and prints a table of


data from the Catalog Item (mspcat_applications) and Package (mspcat_packages)
tables about items in the catalog. This function depends on the ConsoleTables
NuGet package to render the table in a console application.

C#

/// <summary>
/// Retrieves information about catalog items and writes it to the
console
/// </summary>
/// <param name="service">The authenticated IOrganizationService
instance.</param>
static void RetrieveCatalogItems(IOrganizationService service)
{
QueryExpression query = new("mspcat_applications")
{
ColumnSet = new ColumnSet(
"mspcat_tpsid",
"mspcat_deploytype",
"mspcat_applicationtype",
"mspcat_businesscategory",
"mspcat_description",
"mspcat_applicationsid",
"mspcat_publisherid",
"mspcat_name",
"statuscode"),
Criteria = new FilterExpression(LogicalOperator.And)
{
Conditions = {
{
new ConditionExpression(
attributeName: "statecode",
conditionOperator: ConditionOperator.Equal,
value: 0)
}
}
}
};

LinkEntity linkToPackages = query.AddLink(


linkToEntityName: "mspcat_packages",
linkFromAttributeName: "mspcat_packageasset",
linkToAttributeName: "mspcat_packagesid",
joinOperator: JoinOperator.Inner);

linkToPackages.Columns = new ColumnSet(


"statecode",
"mspcat_uniquename",
"mspcat_version",
"statuscode");

linkToPackages.EntityAlias = "pkg";

EntityCollection catalogs = service.RetrieveMultiple(query);

var table = new ConsoleTables.ConsoleTable(


"Catalog Item Name",
"Publisher Name",
"Catalog Item ID",
"Revision ID",
"Version",
"Status");

foreach (Entity catalog in catalogs.Entities)


{
string catalogItemName = catalog.GetAttributeValue<string>
("mspcat_name");
string publisherName =
catalog.FormattedValues["mspcat_publisherid"];
string catalogItemId = catalog.GetAttributeValue<string>
("mspcat_tpsid");
Guid revisionId = catalog.GetAttributeValue<Guid>
("mspcat_applicationsid");
string version = (string)catalog.GetAttributeValue<AliasedValue>
("pkg.mspcat_version").Value;
string status = catalog.FormattedValues["statuscode"];

string[] rowData = {
catalogItemName,
publisherName,
catalogItemId,
revisionId.ToString(),
version,
status
};
table.Rows.Add(rowData);
}
table.Write();
}

The output of this example might look something like this:

text

-----------------------------------------------------------------------
------------------------------------------------------------------------
------------------
| Catalog Item Name | Publisher Name |
Catalog Item ID | Revision ID
| Version | Status |
-----------------------------------------------------------------------
------------------------------------------------------------------------
------------------
| Contoso Conference Custom Connector| Catalog Conferences Team|
ContosoConferencesCustomConnector | 4e882dd6-74f3-ed11-8849-000d3a0a286b
| 1.0.0.1 | Published |
-----------------------------------------------------------------------
------------------------------------------------------------------------
------------------
| Contoso Themed Components | ContosoPublisher |
ContosoThemedComponents | efbc469d-f1b2-ed11-83fd-000d3a0a2d9d
| 1.0.0.1 | Published |
-----------------------------------------------------------------------
------------------------------------------------------------------------
------------------

Use the Dataverse SDK for .NET


Query data using QueryExpression

Next steps
Submit and approve catalog items

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Submit and approve catalog items
Article • 11/06/2024

People must submit their catalog items for approval and an administrator must approve
them before others can use them.

To submit an item to the catalog, you need:

A solution or package deployer package containing the item you want to submit.

A submission metadata JSON document.

Use the pac catalog create-submission command to get an example submission


metadata JSON document. You must edit this document and more submission
attributes can be added. More information: Submission attributes

Submission attributes
Before you can submit items to a catalog, you must prepare a JSON document that
describes the items you want to submit.

To help you, the pac catalog create-submission command generates a sample


submission.json file.

You need to edit this file to submit an item. Here's an example:

JSON

{
"modelVersion": "1.0.0.0",
"operation": "CreateOrUpdate",
"sourcePortal": 526430005,
"businessJustification": "Power Platform custom connector for Conference
API",
"publisherDetails": {
"publisherId": "ContosoConferencesTeam",
"publisherDisplayName": "Catalog Conferences Team"
},
"catalogItemDefinition": {
"id": "ContosoConferencesCustomConnector",
"displayName": "Contoso Conference Custom Connector",
"description": "Demo Custom connector to query Conference Speakers &
Sessions",
"offer": {
"type": "Component_Collection",
"deploymentType": "Normal",
"engineeringName": {
"firstName": "Jennifer",
"lastName": "Wilkins",
"email": "jwilkins@contoso.com",
"phoneNumber": "555-111-1234"
},
"supportName": {
"firstName": "Aidan",
"lastName": "Hunt",
"email": "ahunt@contoso.com",
"phoneNumber": "555-111-1234"
}
}
}
}

Learn about the valid properties for the submission file

Submit items to the catalog


Items submitted to the catalog need to be included within a package deployer package.
A package deployer package contains a solution zip file and some optional instructions
to apply when deploying the package. If you don't have a package deployer package,
you can create one for the solution that contains your items.

PAC CLI

After your submission metadata JSON document is ready, use the pac catalog
submit command to submit it.

Use the required --path parameter to refer to the catalog submission JSON
document.

If you already have a package deployer package:

Use the --package-zip parameter to refer to the package deployer package.


Otherwise, use the --solution-zip parameter to refer to this solution. The
submit command creates the package behind the scenes.

If you want to combine polling the status of your submission request, use the --
poll-status parameter. Otherwise, use the pac catalog status command as

described in Check status of catalog submissions.

PowerShell

pac catalog submit -p "BuildDemoSubmission.json" -sz


"ContosoConference_1_0_0_1_managed.zip"
Creating package for catalog submit request...
Connected to... TestCatalog
Connected as user@domain
Tracking id for this submission is 0e6b119d-80f3-ed11-8849-000d3a0a2d9d

What is Microsoft Power Platform CLI?

Create package deployer package from an


unmanaged solution
When you use the mspcat_SubmitCatalogApprovalRequest message with the SDK for .NET
or Web API as described in Submit items to the catalog, the submission JSON file must
include a CatalogItemDefinition packageFile property set to specify a URL in the
filesaslink to download a package deployer package file. You don't need to do this

with the pac catalog submit command because it does this for you.

This URL can represent anywhere that Dataverse can download a file without any
credentials, but we don't recommend you place the files on public download location.
Instead, you can use the Package Submission Store (mspcat_PackageStore) table to
generate a package deployer package using an unmanaged solution from any
environment in your tenant. This process generates a record in this table that contains a
package in the PackageFile (mspcat_PackageFile) file column. You can then use the
GetFileSasUrl message to get a shared access signature (SAS) URL to enable

anonymous downloading of the file within 1 hour. Because the URL is only valid within
an hour, this process should be automated so that access to download the file doesn't
expire.

7 Note

This example uses the mspcat_PackageStore.mspcat_packagefile column, but the


GetFileSasUrl message can provide a SAS URL for any file or image column in

Dataverse. Learn more about granting limited access to Dataverse files using
shared access signatures

Process
1. Create a Package Submission Store (mspcat_PackageStore) record with these
values
ノ Expand table

Column Value

mspcat_name The name of the unmanaged solution

mspcat_solutionuniquename The unique name of the unmanaged solution

mspcat_intendeddeploymenttype 526430000 for Standard deployment

mspcat_operation 958090001 for Create Package

2. Update the statuscode value from 958090003 for Draft to 958090004 for
Submitted.

This update starts the process.

3. Wait for statuscode to change to 958090001 for Completed.

4. Use GetFileSasUrl to get a URL for the mspcat_PackageStore.mspcat_packagefile


column. This returns a GetFileSasUrlResponse object.

5. Create a CatalogFileAsset JSON object setting these properties:

ノ Expand table

Property Value

name GetFileSasUrlResponse.FileName

filesaslink GetFileSasUrlResponse.SasUrl

6. Set this to the CatalogItemDefinition packageFile property of the JSON


submission file.

7. Use the mspcat_SubmitCatalogApprovalRequest to send the submission as described


in Submit items to the catalog

PAC CLI

The PAC CLI pac catalog submit command manages this for you.

Check status of catalog submissions


The statuscode Choices/Options options of the Approval Request
(mspcat_certificationrequest) table. Completed ( 2 ) represents a successful submission.

ノ Expand table

Value Label

1 Submitted

526430001 InProgress

526430002 Waiting On Submitter

526430003 Pending Deployment

526430008 Draft

526430009 Processing

2 Completed

526430000 Abandoned

526430004 Rejected

526430005 Marketing Content

526430006 Duplicate Request

526430010 Failed Prevalidation

PAC CLI

Use the pac catalog status command to check the status of catalog submissions.

PowerShell

pac catalog status --tracking-id 0e6b119d-80f3-ed11-8849-000d3a0a2d9d --


type submit
Connected to... TestCatalog
Connected as user@domain
Status of the Submit request: Submitted

What is Microsoft Power Platform CLI?

Approve catalog submissions


Catalog submissions are typically approved within the Power Platform Catalog Manager
application.

PAC CLI

There's no PAC CLI command to perform this operation.

Next steps
Review the catalog item submission document reference

Compose submission document

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Install items from the catalog in Power
Platform using code
Article • 11/06/2024

Catalog items are stored in the Catalog Item (mspcat_applications) table. This table has
a mspcat_TPSID (Catalog Item Id) column that stores a unique string value you can use
to refer to a catalog item.

Install a specific version


When using PAC CLI pac catalog install command or the
mspcat_InstallCatalogItemByCID message, pass a string catalog item ID ( cid or CID )

parameter.

When you want to install a specific version of a catalog item, append the version
number to the string value passed to the catalog item ID parameter. The version value
comes from the related Package (mspcat_packages) record Version (mspcat_version)
value.

For example, let's say that the following table represents the available versions of the
MyCatalogItem catalog item:

ノ Expand table

Version Description

3.0.0.0 Published

2.0.0.0 Active but not published

1.0.0.0 inactive

The following catalog item ID parameter values have different behaviors:

ノ Expand table

Example Result

MyCatalogItem Installs version 3.0.0.0 (Published version)

MyCatalogItem@3.0.0.0 Installs version 3.0.0.0 (Published version)


Example Result

MyCatalogItem@2.0.0.0 Installs version 2.0.0.0

MyCatalogItem@1.0.0.0 Fails with an error indicating that the version isn't available.

PAC CLI

Use the pac catalog install command to install items from the catalog.

In this example, you're connected to the EnvironmentWithCatalog .

Use the -cid parameter to specify the catalog item ID and -te to specify the
environment to install the catalog item in. You can also specify a specific version.

PowerShell

pac catalog install `


-cid ContosoConferencesCustomConnector `
-te https://<org to install item>.crm.dynamics.com/
Connected as user@domain
Connected to... EnvironmentWithCatalog
Tracking ID for this installation is 9cc47262-2f33-ef11-8409-
6045bdd3aec3

The Tracking ID returned is the primary key of the Install History


(mspcat_InstallHistory) record which you can review to see whether the installation
succeeds.

What is Microsoft Power Platform CLI?

Check status of catalog installation


The following table shows the statuscode Choices/Options options of the Install History
(mspcat_InstallHistory) table. Completed (526430003) represents a successful
submission, Failed (526430003) represents an unsuccessful submission. Custom state
model transitions ensure that the status value moves through the active status reasons
until the installation becomes inactive.

ノ Expand table

State Value Label Allowed Transition to

0 (Active) 1 Requested 2,526430001,526430002,526430003,526430004


State Value Label Allowed Transition to

1 (Inactive) 2 Inactive

0 (Active) 526430001 Pending 2, 526430002,526430003,526430004,

0 (Active) 526430002 In Progress 2,526430003,526430004,

1 (Inactive) 526430003 Completed

1 (Inactive) 526430004 Failed

PAC CLI

Use the pac catalog status command to check the status of catalog installations.

PowerShell

pac catalog status --tracking-id 0e6b119d-80f3-ed11-8849-000d3a0a2d9d --


type Install
Connected to... TestCatalog
Connected as user@domain
Status of the Install request: Requested

What is Microsoft Power Platform CLI?

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Catalog item submission document reference
Article • 11/06/2024

You must include data in JSON format when you submit an item to the catalog. This article describes the valid
properties for that document. This JSON is an example:

JSON

{
"modelVersion": "1.0.0.0",
"operation": "CreateOrUpdate",
"sourcePortal": 526430005,
"businessJustification": "Power Platform custom connector for Conference API",
"publisherDetails": {
"publisherId": "ContosoConferencesTeam",
"publisherDisplayName": "Catalog Conferences Team"
},
"catalogItemDefinition": {
"id": "ContosoConferencesCustomConnector",
"displayName": "Contoso Conference Custom Connector",
"description": "Demo Custom connector to query Conference Speakers & Sessions",
"offer": {
"type": "Component_Collection",
"deploymentType": "Normal",
"engineeringName": {
"firstName": "Jennifer",
"lastName": "Wilkins",
"email": "jwilkins@contoso.com",
"phoneNumber": "555-111-1234"
},
"supportName": {
"firstName": "Aidan",
"lastName": "Hunt",
"email": "ahunt@contoso.com",
"phoneNumber": "555-111-1234"
}
},
"packageFile": {
"name": "packageFileName.zip",
"filesaslink":
"https://Contoso.blob.core.windows.net/ContosoConferencesCustomConnector/packageFileName.zip"
}
}
}

This table describes the properties for the submission document:

ノ Expand table

Property Type Required Description

modelVersion string No Version number of the submission document. Default is 1.0.0.0.

sourcePortal int No Identifies the source of this request. Defaults to 526430005 which is the
PAC CLI. For other sources, use 526430000 . The
mspcat_GetPowerCatalogDetails function returns the full list. The
mspcat_GetPowerCatalogDetailsResponse.CatalogDetails.sourceOptions
property lists the available options.

submissionId guid No Guid to identify the submission. This value is a foreign key to allow for
linking the request to other systems.
Property Type Required Description

operation string Yes For future expansion and isn't currently respected. The type of
operation that to be used. Valid values:
- CreateOrUpdate (Default)
- Create
- Update
- Disabled

businessJustification string No Describes the business value of the submission to the approver. This
value can contain HTML or Rich Text Format (RTF). This information
appears in the planned consumption experience in the maker
discovery user experience. Users might say their submission helps with
cost reduction or productivity, for example. Some organizations
require certain classes of value and those values can be entered here.

publisherDetails Publisher Yes The publisher associated with this item submission.

catalogItemDefinition CatalogItemDefinition Yes Defines the catalog item being submitted.

Publisher
Use this data to specify the catalog submission item publisherDetails property.

Creates a publisher record that can be associated to one or more Microsoft Entra ID groups containing
authorized users who can make updates to the catalog item going forward.

7 Note

Don't confuse this term with Solution Publisher. Catalog item publisher isn't used with solutions.

You need to provide the publisherDisplayName at a minimum. publisherId can be any string value. The system
checks if that publisher exists, else creates it and assigns an publisherId .

For example, HR IT team of developers can create a publisher and ID the developers using a Microsoft Entra ID
group.

Here's a sample of a publisher record that includes operations to add a person and an Entra ID group

JSON

{
"publisherId": "MyPublisherId",
"publisherDisplayName": "Contoso Publishing",
"publisherUpnList": [
{
"action": "Add",
"upn": "john.doe@contoso.com"
}
],
"publisherAADGroupOIDS": [
{
"action": "Add",
"groupName": "PowerCatalogSubmitters",
"groupOID": "2ded6de9-ab44-4478-9bd4-e609947daa2e",
"groupType": "Security"
}
]
}

ノ Expand table

Property Type Required Description

publisherId string Yes The unique ID for this publisher. Use this ID to identify this
publisher anytime you're creating or updating a catalog
item for this publisher. Catalog Items can only be
associated to one publisher at a time. The value can be a
GUID or string. Once set, it must be maintained.

publisherDisplayName string Yes Consumers see this data in the catalog gallery.

publisherUpnList CatalogUPNOperation[] No People that can submit new or update catalog items as this
publisher. Always includes the submitting user the first time
the Publisher is created.

publisherAADGroupOIDS CatalogGroupOperation[] No Entra ID Groups whose members are allowed to access this
publisher.

CatalogUPNOperation
Use this data to specify the Publisher publisherUpnList property.

Defines an operation to add or remove people that can submit new or update catalog items as this publisher.

ノ Expand table

Property Type Required Description

action string Yes The action to take with this UPN. Valid values: Add or Remove .

upn string Yes User Principal Name (UPN) of the user.

userOid guid Yes Object Identifier for the user.

CatalogGroupOperation
Use this data to specify the Publisher publisherAADGroupOIDS property.

Defines an operation to add or remove an Entra ID Group that can access this publisher.

ノ Expand table

Property Type Required Description

action string Yes The action to take with this UPN. Valid values: Add or Remove .

groupName string Yes Name of group.

groupOid guid Yes Object identifier for group.

groupType string Yes Type of Group being addressed. Valid Values are Security and Modern .
CatalogItemDefinition
Use this data to specify the catalog submission item catalogItemDefinition property.

These properties define the catalog item being submitted. This is the actual Power Platform solution. A package
is what is stored in the catalog.

Here's an example of a catalog item including its engineeringName and supportName contacts that are
mandatory.

JSON

"catalogItemDefinition": {
"id": "ContosoTravelsApp",
"displayName": "Contoso Travel Expense App",
"description": "Submit expenses on the go!",
"offer": {
"businessCategories": [526430000, 526430001, 526430002],
"type": "Component_Collection",
"deploymentType": "Normal",
"small48x48Image": {
"name": "Small48Image",
"fileSasLink": "https://www.contoso.com/icon48.jpg"
},
"large216x216Image": {
"name": "Large216image2",
"fileSasLink": "https://www.contoso.com/icon216.jpg"
},
"documents": [
{
"name": "ImaNewfile",
"fileSasLink": "https://www.contoso.com/screenshot1.jpg"
},
{
"name": "ImaNewfile2",
"fileSasLink": "https://www.contoso.com/screenshot2.jpg"
}
],
"helpLink": "https://www.contoso.com/help.html",
"privacyPolicyLink": "https://www.contoso.com/privacy.html",
"legalTerms": "https://www.contoso.com/legal.html",
"engineeringName": {
"firstName": "John",
"lastName": "Roon",
"email": "john@contoso.com",
"phoneNumber": "999-111-1234"
},
"supportName": {
"firstName": "Jane",
"lastName": "Drill",
"email": "jane@contoso.com",
"phoneNumber": "999-111-1234"
}
}
}

ノ Expand table

Property Type Required Description

id guid Yes The unique ID of the catalog item. Use this ID when updating or installing the
catalog item.
Property Type Required Description

displayName string Yes Name shown to consumers in the catalog galleries.

description string No Description shown to consumers in the catalog galleries.

offer OfferDetails Yes The details of the catalog item submission.

packageFile CatalogFileAsset Yes Describes where to get the catalog package file for the submission.

OfferDetails
Use this data to specify the CatalogItemDefinition offer property.

These properties define the details of the catalog item submission.

ノ Expand table

Property Type Required Description

businessCategories int[] No List of choice option values respected by the target


catalog. Identifies the business categories to associate
with this catalog item. See Business categories for the
valid values to use.

type string Yes Type of catalog item. Valid values:


- Application
- Component_Collection

supportsApplicationTypes string[] No List of the supported application types. Valid values:


- CanvasApps
- ModelApps
- PowerPortals
- PowerAutomate

deploymentType string Yes Indicates the type of deployment to deploy this catalog
item. Valid values:
- Normal represents a managed item.
- Template A copy of your unmanaged solution that
other makers can edit however they choose.
Learn more about catalog item types

searchKeywords string[] No Words that people might use to find this catalog item.

small48x48Image CatalogFileAsset No Image for gallery view. If you don't provide this image,
a system default icon is used.

large216x216Image CatalogFileAsset No Image for detail view. Provide an icon to be displayed


in the maker or other discovery UI. Some user
experiences uses larger icons to render cards for
discovery.

useCaseDocument CatalogFileAsset No Use case description and explanation to approvers.

videos CatalogFileAsset[] No Detail view displays links to these video/gif files.

documents CatalogFileAsset[] No Detail view displays links to these files.

screenshots CatalogFileAsset[] No Detail view displays these images. You can pass
screenshots here of your application to help makers
identify whether this app provides the functionality or
Property Type Required Description

capability they're looking for. The most common thing


people do before downloading an app or template is
look at its images and screenshots to understand the
capabilities instead of reading the description.

helpLink uri No Link to documentation. These URLs can be links to


internal docs or sharepoint resources.

privacyPolicyLink uri No Link to privacy document. Policies regarding careful


usage of the component or application being
submitted.

legalTermsLink uri No Link to the Terms and Conditions document. Any legal
terms or internal guidance for evaluation of the
consumer of the catalog item.

legalTerms string No Markdown, HTML, or text version of the Terms and


Conditions document. Any legal terms or internal
guidance for evaluation of the consumer of the catalog
item.

sourceCodeRepositoryLink uri No Link to the source code repository

engineeringName PersonContactInformation Yes Contact information for engineer or group that


developed this catalog item.

supportName PersonContactInformation No Contact information for support or group that supports


this catalog item. Can be same as the engineering
contact that the consumer of a catalog item can reach
out to if they run into issues with the application.

Business categories
Set the OfferDetails businessCategories property to one or more of these business categories:

ノ Expand table

Code Description

526430000 Customer Service

526430001 Project Management

526430002 Calendar Management & Scheduling

526430003 Email Management

526430004 Files & Documentation

526430005 Notification & Reminders

526430006 Analytics

526430007 Collaboration

526430008 Commerce

526430009 Finance

526430010 Compliance & Legal


Code Description

526430011 Sales

526430012 IT Tools

526430013 Marketing

526430014 Operations & Supply Chain

526430015 Internet of Things

526430016 AI Machine Learning

526430017 Geolocation

526430018 Human Resources

Currently, new business categories can't be configured, but they can be retrieved from the Catalog Business
Category ( mspcat_catalogbusinesscategory ) global choice.

CatalogFileAsset
These properties define a file referenced in the CatalogItemDefinition packageFile and the OfferDetails
small48x48Image , large216x216Image , useCaseDocument , videos , documents , and screenshots properties.

ノ Expand table

Property Type Required Description

name string Yes Name of the file.

filesaslink uri Yes Link to download the file. If the link requires authentication, provide a shared access
signature (SAS) URL.

PersonContactInformation
These properties define people in the catalog item OfferDetails engineeringName and supportName properties.

ノ Expand table

Property Type Required Description

firstName string No Person first name.

lastName string Yes Person family name.

email string Yes Person email address.

phoneNumber string No Person phone number.

Feedback
Was this page helpful?  Yes  No
Provide product feedback
Catalog in Power Platform Events
reference
Article • 11/06/2024

The following messages represent events that occur within catalog in Power Platform.
Subscribe to these business events to enable automation based on the events that occur
within the catalog in Power Platform.

mspcat_OnCatalogApprovalRequested
Event raised when a catalog approval request is received.

mspcat_OnCatalogApprovalRequested parameters

ノ Expand table

Name Type Description

ApprovalRequest mspcat_certificationrequest record Approval Request Entity Reference

mspcat_OnCatalogApprovalUpdated
Event raised on each update made to the approval record including completion.

mspcat_OnCatalogApprovalUpdated parameters

ノ Expand table

Name Type Description

StatusMessage string Status Message from the install process

IsCompleted bool True when the operation is complete

ApprovalRequest mspcat_certificationrequest record Completed Approval Request

IsApproved bool True when approved

mspcat_OnCatalogInstallRequested
Event raised when a Catalog Item is being installed.

mspcat_OnCatalogInstallRequested parameters

ノ Expand table

Name Type Description

InstallHistory mspcat_installhistory Install History entity reference that is the subject of


record this notification

CatalogItem mspcat_applications Catalog Item


record

mspcat_OnCatalogInstallUpdated
Event raised on each status event received by the system.

mspcat_OnCatalogInstallUpdated parameters

ノ Expand table

Name Type Description

CatalogItem mspcat_applications Catalog Item


record

StatusMessage string Status Message from the install process

IsCompleted bool True of the operation is complete

InstallHistory mspcat_installhistory Install History entity reference that is the subject of


record this notification

IsSuccess bool True when request was completed successfully

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Catalog in Power Platform table/entity
reference
Article • 11/06/2024

This reference is based on the Dataverse table/entity reference except that it only
includes tables added by the Power Platform Catalog manager managed solution to
support the catalog in Power Platform.

7 Note

The Power Platform Catalog manager managed solution makes many more
changes to columns and relationships for existing Dataverse tables. These changes
are not included here because they don't impact core scenarios to use these tables.

The Catalog Submission Files (mspcat_CatalogSubmissionFiles) and Package


Submission Store (mspcat_PackageStore) tables are found in every Dataverse
environment. They are not added by the Power Platform Catalog manager
application.

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Approval Rejection Applied Policy
(mspcat_CertificationRejectionAppliedPolicy)
table/entity reference
Article • 11/06/2024

Messages
The following table lists the messages for the Approval Rejection Applied Policy (mspcat_CertificationRejectionAppliedPolicy) table.
Messages represent operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_certificationrejectionappliedpolicies(mspcat_certificationrejectionappliedpolicyid)
Update the ownerid property.

Create POST /mspcat_certificationrejectionappliedpolicies Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_certificationrejectionappliedpolicies(mspcat_certificationrejectionappliedpolicyid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

Retrieve GET Retrieve records


Event: True /mspcat_certificationrejectionappliedpolicies(mspcat_certificationrejectionappliedpolicyid)
See Retrieve

RetrieveMultiple GET /mspcat_certificationrejectionappliedpolicies Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessR


Event: True

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True

SetState PATCH SetStateRequest


Event: True /mspcat_certificationrejectionappliedpolicies(mspcat_certificationrejectionappliedpolicyid)
Update the statecode and statuscode properties.

Update PATCH Update records


Event: True /mspcat_certificationrejectionappliedpolicies(mspcat_certificationrejectionappliedpolicyid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_certificationrejectionappliedpolicies(mspcat_certificationrejectionappliedpolicyid)
See Upsert a table row
Name Web API Operation SDK for .NET
Is Event?

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Approval Rejection Applied Policy (mspcat_CertificationRejectionAppliedPolicy) table. Events are
messages that exist so that you can subscribe to them. Unless you added the event, you shouldn't invoke the message, only subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Approval Rejection Applied Policy (mspcat_CertificationRejectionAppliedPolicy) table.

ノ Expand table

Property Value

DisplayName Approval Rejection Applied Policy

DisplayCollectionName Approval Rejection Applied Policies

SchemaName mspcat_CertificationRejectionAppliedPolicy

CollectionSchemaName mspcat_CertificationRejectionAppliedPolicies

EntitySetName mspcat_certificationrejectionappliedpolicies

LogicalName mspcat_certificationrejectionappliedpolicy

LogicalCollectionName mspcat_certificationrejectionappliedpolicies

PrimaryIdAttribute mspcat_certificationrejectionappliedpolicyid

PrimaryNameAttribute mspcat_name

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by SchemaName.

cr9d4_PolicyRejectionReason
ImportSequenceNumber
mspcat_CertificationRejectionAppliedPolicyId
mspcat_CertificationRequest
mspcat_CustomerNotice
mspcat_Name
mspcat_PolicyCode
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

cr9d4_PolicyRejectionReason
ノ Expand table

Property Value

Description

DisplayName Policy Rejection Reason

IsValidForForm True

IsValidForRead True

LogicalName cr9d4_policyrejectionreason

RequiredLevel None

Type Lookup

Targets mspcat_sspolicytemplate

ImportSequenceNumber
ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_CertificationRejectionAppliedPolicyId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Certification Rejection Applied Policy

IsValidForForm False

IsValidForRead True

LogicalName mspcat_certificationrejectionappliedpolicyid

RequiredLevel SystemRequired

Type Uniqueidentifier
mspcat_CertificationRequest
ノ Expand table

Property Value

Description

DisplayName Certification Request

IsValidForForm True

IsValidForRead True

LogicalName mspcat_certificationrequest

RequiredLevel ApplicationRequired

Type Lookup

Targets mspcat_certificationrequest

mspcat_CustomerNotice
ノ Expand table

Property Value

Description

DisplayName Customer Notice

IsValidForForm True

IsValidForRead True

LogicalName mspcat_customernotice

RequiredLevel None

Type Memo

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 2000

mspcat_Name
ノ Expand table

Property Value

Description Required name field

DisplayName Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_name

RequiredLevel Recommended

Type String

Format Text
Property Value

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_PolicyCode
ノ Expand table

Property Value

Description

DisplayName Policy Code

IsValidForForm True

IsValidForRead True

LogicalName mspcat_policycode

RequiredLevel ApplicationRequired

Type Lookup

Targets mspcat_sspolicy

OverriddenCreatedOn
ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

OwnerId
ノ Expand table

Property Value

Description Owner Id

DisplayName Owner

IsValidForForm True
Property Value

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType
ノ Expand table

Property Value

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

statecode
ノ Expand table

Property Value

Description Status of the Approval Rejection Applied Policy

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_certificationrejectionappliedpolicy_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 1
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive
statuscode
ノ Expand table

Property Value

Description Reason for the status of the Approval Rejection Applied Policy

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_certificationrejectionappliedpolicy_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code


Property Value

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber

CreatedBy
ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True
Property Value

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True
Property Value

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

OwnerIdName
ノ Expand table

Property Value

Description Name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridname

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwnerIdYomiName
ノ Expand table

Property Value

Description Yomi name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwningBusinessUnit
ノ Expand table

Property Value

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit

OwningTeam
ノ Expand table

Property Value

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.

cr9d4_mspcat_CertificationRejectionAppliedPol
mspcat_CertificationRejectionAppliedPol
mspcat_certreject_cert

cr9d4_mspcat_CertificationRejectionAppliedPol
One-To-Many Relationship: mspcat_sspolicytemplate cr9d4_mspcat_CertificationRejectionAppliedPol

ノ Expand table

Property Value

ReferencedEntity mspcat_sspolicytemplate

ReferencedAttribute mspcat_sspolicytemplateid

ReferencingAttribute cr9d4_policyrejectionreason

ReferencingEntityNavigationPropertyName cr9d4_PolicyRejectionReason

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: NoCascade
Property Value

Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

mspcat_CertificationRejectionAppliedPol
One-To-Many Relationship: mspcat_sspolicy mspcat_CertificationRejectionAppliedPol

ノ Expand table

Property Value

ReferencedEntity mspcat_sspolicy

ReferencedAttribute mspcat_sspolicyid

ReferencingAttribute mspcat_policycode

ReferencingEntityNavigationPropertyName mspcat_PolicyCode

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

mspcat_certreject_cert
One-To-Many Relationship: mspcat_certificationrequest mspcat_certreject_cert

ノ Expand table

Property Value

ReferencedEntity mspcat_certificationrequest

ReferencedAttribute mspcat_certificationrequestid

ReferencingAttribute mspcat_certificationrequest

ReferencingEntityNavigationPropertyName mspcat_CertificationRequest

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

See also
Dataverse table/entity reference
Dataverse Web API Reference
Feedback
Was this page helpful?  Yes  No

Provide product feedback


Approval Request (mspcat_certificationrequest)
table/entity reference
Article • 11/06/2024

Contains Approval records that are used to process new or updated submissions to the catalog system.

Messages
The following table lists the messages for the Approval Request (mspcat_certificationrequest) table. Messages represent
operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_certificationrequests(mspcat_certificationrequestid)
Update the ownerid property.

Create POST /mspcat_certificationrequests Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_certificationrequests(mspcat_certificationrequestid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

mspcat_ResolveApproval mspcat_ResolveApproval action Learn to use messages with the SDK for
Event: False .NET

Restore Restore Learn to use messages with the SDK for


Event: True .NET

Retrieve GET Retrieve records


Event: True /mspcat_certificationrequests(mspcat_certificationrequestid)
See Retrieve

RetrieveMultiple GET /mspcat_certificationrequests Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest


Event: True

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True
Name Web API Operation SDK for .NET
Is Event?

SetState PATCH SetStateRequest


Event: True /mspcat_certificationrequests(mspcat_certificationrequestid)
Update the statecode and statuscode properties.

Update PATCH Update records


Event: True /mspcat_certificationrequests(mspcat_certificationrequestid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_certificationrequests(mspcat_certificationrequestid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Approval Request (mspcat_certificationrequest) table. Events are messages
that exist so that you can subscribe to them. Unless you added the event, you shouldn't invoke the message, only
subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Approval Request (mspcat_certificationrequest) table.

ノ Expand table

Property Value

DisplayName Approval Request

DisplayCollectionName Approval Requests

SchemaName mspcat_certificationrequest

CollectionSchemaName mspcat_certificationrequests

EntitySetName mspcat_certificationrequests

LogicalName mspcat_certificationrequest

LogicalCollectionName mspcat_certificationrequests
Property Value

PrimaryIdAttribute mspcat_certificationrequestid

PrimaryNameAttribute mspcat_requestname

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.

ImportSequenceNumber
LastOnHoldTime
mspcat_Application
mspcat_autoapproved
mspcat_certduration
mspcat_certenddate
mspcat_certificationrequestId
mspcat_certstartdate
mspcat_codereview
mspcat_CRMPackageDropLocation
mspcat_CRMWorkingPackageDropPath
mspcat_DropContainsMultiplePackages
mspcat_functionalvalidation
mspcat_internalreview
mspcat_isvduration
mspcat_isvresponded
mspcat_isvwaitingstarttime
mspcat_MarketingOnlyChange
mspcat_OperationId
mspcat_OperationType
mspcat_packagedeployment
mspcat_Publisher
mspcat_PublishVersion
mspcat_RequestAssetId
mspcat_RequestAssetVersion
mspcat_RequestCorrelationId
mspcat_requestname
mspcat_RequestsAccesstoTSPEvents
mspcat_RequestSource
mspcat_RequestsSecureStoreAccess
mspcat_securityreview
mspcat_stagename
mspcat_summaryscanstatus
mspcat_Supersededby
mspcat_totalduration
OverriddenCreatedOn
OwnerId
OwnerIdType
processid
SLAId
stageid
statecode
statuscode
TimeZoneRuleVersionNumber
traversedpath
UTCConversionTimeZoneCode

ImportSequenceNumber
ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

LastOnHoldTime
ノ Expand table

Property Value

Description Contains the date and time stamp of the last on-hold time

DisplayName Last On Hold Time

IsValidForForm True

IsValidForRead True

LogicalName lastonholdtime

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

mspcat_Application
ノ Expand table

Property Value

Description Application that this submission concerns.

DisplayName Catalog Item

IsValidForForm True

IsValidForRead True

LogicalName mspcat_application

RequiredLevel Recommended

Type Lookup

Targets mspcat_applications

mspcat_autoapproved
ノ Expand table

Property Value

Description

DisplayName Auto Approved

IsValidForForm True

IsValidForRead True

LogicalName mspcat_autoapproved

RequiredLevel None

Type Boolean

GlobalChoiceName mspcat_certificationrequest_mspcat_autoapproved

DefaultValue False

True Label Yes

False Label No

mspcat_certduration
ノ Expand table

Property Value

Description

DisplayName Cert Duration

IsValidForForm True

IsValidForRead True

LogicalName mspcat_certduration

RequiredLevel None
Property Value

Type Integer

MaxValue 2147483647

MinValue 0

mspcat_certenddate
ノ Expand table

Property Value

Description Captures the date time when approval team completed the request

DisplayName Actual End Date

IsValidForForm True

IsValidForRead True

LogicalName mspcat_certenddate

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior True

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Auto

SourceTypeMask 0

mspcat_certificationrequestId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Certification Request

IsValidForForm False

IsValidForRead True

LogicalName mspcat_certificationrequestid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_certstartdate
ノ Expand table
Property Value

Description Captures the date time when Approval team picked up the request

DisplayName Actual Start Date

IsValidForForm True

IsValidForRead True

LogicalName mspcat_certstartdate

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior True

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Auto

SourceTypeMask 0

mspcat_codereview
ノ Expand table

Property Value

Description shows the code review stage status.

DisplayName Code Review

IsValidForForm True

IsValidForRead True

LogicalName mspcat_codereview

RequiredLevel None

Type Picklist

DefaultFormValue 526430000

GlobalChoiceName mspcat_certificationstage

mspcat_codereview Choices/Options

ノ Expand table

Value Label

526430000 Not Started

526430001 In Progress

526430002 Waiting on Submitting User

526430003 Completed
mspcat_CRMPackageDropLocation
ノ Expand table

Property Value

Description URL of the package to be picked up for processing

DisplayName CRM Package Drop Location

IsValidForForm True

IsValidForRead True

LogicalName mspcat_crmpackagedroplocation

RequiredLevel None

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 500

mspcat_CRMWorkingPackageDropPath
ノ Expand table

Property Value

Description This is the location where the package file has been dropped for working

DisplayName CRM Working Package Drop Path

IsValidForForm True

IsValidForRead True

LogicalName mspcat_crmworkingpackagedroppath

RequiredLevel None

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 500

mspcat_DropContainsMultiplePackages
ノ Expand table
Property Value

Description indicator that the file at the drop location has more then one file in it.

DisplayName Drop Contains Multiple Packages

IsValidForForm True

IsValidForRead True

LogicalName mspcat_dropcontainsmultiplepackages

RequiredLevel None

Type Boolean

GlobalChoiceName mspcat_mspcat_certificationrequest_mspcat_dropcontainsmultiplepackages

DefaultValue False

True Label Yes

False Label No

mspcat_functionalvalidation
ノ Expand table

Property Value

Description shows the Functional Validation stage status.

DisplayName Functional Validation

IsValidForForm True

IsValidForRead True

LogicalName mspcat_functionalvalidation

RequiredLevel None

Type Picklist

DefaultFormValue 526430000

GlobalChoiceName mspcat_certificationstage

mspcat_functionalvalidation Choices/Options

ノ Expand table

Value Label

526430000 Not Started

526430001 In Progress

526430002 Waiting on Submitting User

526430003 Completed

mspcat_internalreview
ノ Expand table

Property Value

Description Shows the Internal Review stage status.

DisplayName Internal Review

IsValidForForm True

IsValidForRead True

LogicalName mspcat_internalreview

RequiredLevel None

Type Picklist

DefaultFormValue 526430000

GlobalChoiceName mspcat_certificationrequest_mspcat_internalreview

mspcat_internalreview Choices/Options

ノ Expand table

Value Label

526430000 Not Started

526430001 InProgress

526430002 Reviews Implemented

526430003 Review Completed

mspcat_isvduration
ノ Expand table

Property Value

Description

DisplayName ISV Duration

IsValidForForm True

IsValidForRead True

LogicalName mspcat_isvduration

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue 0

mspcat_isvresponded
ノ Expand table
Property Value

Description Captures the ISV responded date time

DisplayName ISV Responded

IsValidForForm True

IsValidForRead True

LogicalName mspcat_isvresponded

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior True

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Auto

SourceTypeMask 0

mspcat_isvwaitingstarttime
ノ Expand table

Property Value

Description Captures the ISV waiting start time

DisplayName ISV Waiting Start Time

IsValidForForm True

IsValidForRead True

LogicalName mspcat_isvwaitingstarttime

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior True

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Auto

SourceTypeMask 0

mspcat_MarketingOnlyChange
ノ Expand table

Property Value

Description Indicates that this Approval Request is a Marketing Only Change request.

DisplayName Marketing Only Change


Property Value

IsValidForForm True

IsValidForRead True

LogicalName mspcat_marketingonlychange

RequiredLevel None

Type Boolean

GlobalChoiceName mspcat_certificationrequest_mspcat_marketingonlychange

DefaultValue False

True Label Yes

False Label No

mspcat_OperationId
ノ Expand table

Property Value

Description Operation ID used to report status back to Calling Service

DisplayName OperationId

IsValidForForm True

IsValidForRead True

LogicalName mspcat_operationid

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 50

mspcat_OperationType
ノ Expand table

Property Value

Description Operation Type passed to us by the Storefront

DisplayName Operation Type

IsValidForForm True

IsValidForRead True

LogicalName mspcat_operationtype
Property Value

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 500

mspcat_packagedeployment
ノ Expand table

Property Value

Description shows the Package Deployment Stage status.

DisplayName Deployment

IsValidForForm True

IsValidForRead True

LogicalName mspcat_packagedeployment

RequiredLevel None

Type Picklist

DefaultFormValue 526430000

GlobalChoiceName mspcat_certificationstage

mspcat_packagedeployment Choices/Options

ノ Expand table

Value Label

526430000 Not Started

526430001 In Progress

526430002 Waiting on Submitting User

526430003 Completed

mspcat_Publisher
ノ Expand table

Property Value

Description Publisher that this request concerns.

DisplayName Publisher
Property Value

IsValidForForm True

IsValidForRead True

LogicalName mspcat_publisher

RequiredLevel Recommended

Type Lookup

Targets mspcat_publisher

mspcat_PublishVersion
ノ Expand table

Property Value

Description

DisplayName Publish Version

IsValidForForm True

IsValidForRead True

LogicalName mspcat_publishversion

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 10

mspcat_RequestAssetId
ノ Expand table

Property Value

Description

DisplayName Request Asset Id

IsValidForForm True

IsValidForRead True

LogicalName mspcat_requestassetid

RequiredLevel None

Type String

Format Text
Property Value

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_RequestAssetVersion
ノ Expand table

Property Value

Description

DisplayName Request Asset Version

IsValidForForm True

IsValidForRead True

LogicalName mspcat_requestassetversion

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_RequestCorrelationId
ノ Expand table

Property Value

Description Correlation ID provided on the request for the approval.

DisplayName Request Correlation Id

IsValidForForm True

IsValidForRead True

LogicalName mspcat_requestcorrelationid

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto
Property Value

IsLocalizable False

MaxLength 50

mspcat_requestname
ノ Expand table

Property Value

Description Request name - generated from the request data.

DisplayName Request Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_requestname

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 500

mspcat_RequestsAccesstoTSPEvents
ノ Expand table

Property Value

Description If true, publisher is requesting intergration to the TPS Event system

DisplayName Requests Access to TSP Events

IsValidForForm True

IsValidForRead True

LogicalName mspcat_requestsaccesstotspevents

RequiredLevel None

Type Boolean

GlobalChoiceName mspcat_mspcat_certificationrequest_mspcat_requestsaccesstotspevents

DefaultValue False

True Label Yes

False Label No
mspcat_RequestSource
ノ Expand table

Property Value

Description Contains the Source of the approval request

DisplayName Request Source

IsValidForForm True

IsValidForRead True

LogicalName mspcat_requestsource

RequiredLevel ApplicationRequired

Type Picklist

DefaultFormValue 526430000

GlobalChoiceName mspcat_certificationrequest_requestsource

mspcat_RequestSource Choices/Options

ノ Expand table

Value Label

526430000 Other

526430001 Power Automate Maker Portal

526430002 Power Platform Maker Portal

526430003 Power Virtual Agents Maker Portal

526430004 Power Platform Admin API

526430005 PAC CLI

526430006 PAC Build Task

526430007 Pipelines in Power Platform

mspcat_RequestsSecureStoreAccess
ノ Expand table

Property Value

Description if true, publisher is requesting use of the secure store system for this application

DisplayName Requests Secure Store Access

IsValidForForm True

IsValidForRead True

LogicalName mspcat_requestssecurestoreaccess

RequiredLevel None
Property Value

Type Boolean

GlobalChoiceName mspcat_mspcat_certificationrequest_mspcat_requestssecurestoreaccess

DefaultValue False

True Label Yes

False Label No

mspcat_securityreview
ノ Expand table

Property Value

Description displays the status Security Review

DisplayName Security Review

IsValidForForm True

IsValidForRead True

LogicalName mspcat_securityreview

RequiredLevel None

Type Picklist

DefaultFormValue -1

GlobalChoiceName mspcat_certificationstage

mspcat_securityreview Choices/Options

ノ Expand table

Value Label

526430000 Not Started

526430001 In Progress

526430002 Waiting on Submitting User

526430003 Completed

mspcat_stagename
ノ Expand table

Property Value

Description It denotes the current stage name of the Approval request record.

DisplayName Stage Name

IsValidForForm True

IsValidForRead True
Property Value

LogicalName mspcat_stagename

RequiredLevel None

Type Picklist

DefaultFormValue 526430000

GlobalChoiceName mspcat_certificationrequest_mspcat_stagename

mspcat_stagename Choices/Options

ノ Expand table

Value Label

526430000 Code Review

526430001 ISV Code Review Response

526430002 Security Review

526430003 ISV Security Review Response

526430004 Package Deployment

526430005 ISV Package Issue Response

526430006 Functional Validation

526430007 ISV Functional Issue Response

mspcat_summaryscanstatus
ノ Expand table

Property Value

Description

DisplayName Summary of PowerApps scan status

IsValidForForm True

IsValidForRead True

LogicalName mspcat_summaryscanstatus

RequiredLevel None

Type Picklist

DefaultFormValue -1

GlobalChoiceName mspcat_scanstatus

mspcat_summaryscanstatus Choices/Options

ノ Expand table
Value Label

526430000 Required

526430001 In Progress

526430002 Success

526430003 CompletedWithError

526430004 Internal error

526430005 Not required

mspcat_Supersededby
ノ Expand table

Property Value

Description When populated, Indicated the Approval request that Superseded this request.

DisplayName Superseded by

IsValidForForm True

IsValidForRead True

LogicalName mspcat_supersededby

RequiredLevel None

Type Lookup

Targets mspcat_certificationrequest

mspcat_totalduration
ノ Expand table

Property Value

Description

DisplayName Total Duration

IsValidForForm True

IsValidForRead True

LogicalName mspcat_totalduration

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue 0

OverriddenCreatedOn
ノ Expand table
Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

OwnerId
ノ Expand table

Property Value

Description Owner Id

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType
ノ Expand table

Property Value

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired
Property Value

Type EntityName

processid
ノ Expand table

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

SLAId
ノ Expand table

Property Value

Description Choose the service level agreement (SLA) that you want to apply to the record.

DisplayName SLA

IsValidForForm True

IsValidForRead True

LogicalName slaid

RequiredLevel None

Type Lookup

Targets sla

stageid
ノ Expand table

Property Value

Description Contains the id of the stage where the entity is located.

DisplayName Stage Id

IsValidForForm False

IsValidForRead True

LogicalName stageid

RequiredLevel None
Property Value

Type Uniqueidentifier

statecode
ノ Expand table

Property Value

Description Status of the Approval Request

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_certificationrequest_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 526430008
InvariantName: Active

1 Label: Inactive
DefaultStatus: 526430000
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Approval Request

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status
Property Value

DefaultFormValue

GlobalChoiceName mspcat_certificationrequest_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Submitted
State:0
TransitionData: None

2 Label: Completed
State:1
TransitionData: None

526430000 Label: Abandoned


State:1
TransitionData: None

526430001 Label: InProgress


State:0
TransitionData: None

526430002 Label: Waiting On Submitter


State:0
TransitionData: None

526430003 Label: Pending Deployment


State:0
TransitionData: None

526430004 Label: Rejected


State:1
TransitionData: None

526430005 Label: Marketing Content


State:1
TransitionData: None

526430006 Label: Duplicate Request


State:1
TransitionData: None

526430008 Label: Draft


State:0
TransitionData: None

526430009 Label: Processing


State:0
TransitionData: None

526430010 Label: Failed Prevalidation


State:1
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table
Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

traversedpath
ノ Expand table

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 Traversed Path

IsValidForForm False

IsValidForRead True

LogicalName traversedpath

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 1250

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode
Property Value

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
mspcat_duration
mspcat_Submissiondocument
mspcat_Submissiondocument_Name
OnHoldTime
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
slaidname
SLAInvokedId
VersionNumber

CreatedBy
ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table
Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None
Property Value

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

mspcat_duration
ノ Expand table
Property Value

Description Time spent on the current approval request

DisplayName Approval Duration

IsValidForForm True

IsValidForRead True

LogicalName mspcat_duration

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue 0

mspcat_Submissiondocument
ノ Expand table

Property Value

Description A copy of the submission document for an approval request

DisplayName Submission document

IsValidForForm True

IsValidForRead True

LogicalName mspcat_submissiondocument

RequiredLevel None

Type File

MaxSizeInKB 32768

mspcat_Submissiondocument_Name
ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName mspcat_submissiondocument_name

RequiredLevel None

Type String

Format Text

FormatName Text
Property Value

ImeMode Disabled

IsLocalizable False

MaxLength 200

OnHoldTime
ノ Expand table

Property Value

Description Shows how long, in minutes, that the record was on hold

DisplayName On Hold Time (Minutes)

IsValidForForm True

IsValidForRead True

LogicalName onholdtime

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

OwnerIdName
ノ Expand table

Property Value

Description Name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridname

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwnerIdYomiName
ノ Expand table

Property Value

Description Yomi name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwningBusinessUnit
ノ Expand table

Property Value

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit

OwningTeam
ノ Expand table

Property Value

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam
Property Value

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser

slaidname
ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName slaidname

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

SLAInvokedId
ノ Expand table
Property Value

Description For internal use only.

DisplayName Last SLA Applied

IsValidForForm False

IsValidForRead True

LogicalName slainvokedid

RequiredLevel None

Type Lookup

Targets sla

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.

mspcat_mspcat_applications_mspcat_certificationrequest_Application
mspcat_mspcat_certificationrequest_mspcat_certificationrequest_Supersededby
mspcat_mspcat_publisher_mspcat_certificationrequest_Publisher

mspcat_mspcat_applications_mspcat_certificationrequest_Application
One-To-Many Relationship: mspcat_applications mspcat_mspcat_applications_mspcat_certificationrequest_Application

ノ Expand table

Property Value

ReferencedEntity mspcat_applications

ReferencedAttribute mspcat_applicationsid
Property Value

ReferencingAttribute mspcat_application

ReferencingEntityNavigationPropertyName mspcat_Application

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

mspcat_mspcat_certificationrequest_mspcat_certificationrequest_Supersede
One-To-Many Relationship: mspcat_certificationrequest
mspcat_mspcat_certificationrequest_mspcat_certificationrequest_Supersededby

ノ Expand table

Property Value

ReferencedEntity mspcat_certificationrequest

ReferencedAttribute mspcat_certificationrequestid

ReferencingAttribute mspcat_supersededby

ReferencingEntityNavigationPropertyName mspcat_Supersededby

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

mspcat_mspcat_publisher_mspcat_certificationrequest_Publisher
One-To-Many Relationship: mspcat_publisher mspcat_mspcat_publisher_mspcat_certificationrequest_Publisher

ノ Expand table

Property Value

ReferencedEntity mspcat_publisher

ReferencedAttribute mspcat_publisherid

ReferencingAttribute mspcat_publisher

ReferencingEntityNavigationPropertyName mspcat_Publisher

IsHierarchical
Property Value

CascadeConfiguration Archive: NoCascade


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

One-to-Many relationships
These relationships are one-to-many. Listed by SchemaName.

mspcat_certificationrequest_mspcat_InstallActivities
mspcat_certreject_cert
mspcat_certreq_analysis_status_reln
mspcat_mspcat_certificationrequest_mspcat_certificationrequest_Supersededby

mspcat_certificationrequest_mspcat_InstallActivities
Many-To-One Relationship: mspcat_installactivity mspcat_certificationrequest_mspcat_InstallActivities

ノ Expand table

Property Value

ReferencingEntity mspcat_installactivity

ReferencingAttribute regardingobjectid

ReferencedEntityNavigationPropertyName mspcat_certificationrequest_mspcat_InstallActivities

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: DoNotDisplay
Group: Details
Label:
MenuId: null
Order:
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_certreject_cert
Many-To-One Relationship: mspcat_certificationrejectionappliedpolicy mspcat_certreject_cert

ノ Expand table

Property Value

ReferencingEntity mspcat_certificationrejectionappliedpolicy

ReferencingAttribute mspcat_certificationrequest

ReferencedEntityNavigationPropertyName mspcat_certreject_cert

IsCustomizable True
Property Value

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_certreq_analysis_status_reln
Many-To-One Relationship: mspcat_powerappsscanstatus mspcat_certreq_analysis_status_reln

ノ Expand table

Property Value

ReferencingEntity mspcat_powerappsscanstatus

ReferencingAttribute mspcat_parentrequestid

ReferencedEntityNavigationPropertyName mspcat_certreq_analysis_status_reln

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_mspcat_certificationrequest_mspcat_certificationrequest_Supersede
Many-To-One Relationship: mspcat_certificationrequest
mspcat_mspcat_certificationrequest_mspcat_certificationrequest_Supersededby

ノ Expand table

Property Value

ReferencingEntity mspcat_certificationrequest

ReferencingAttribute mspcat_supersededby

ReferencedEntityNavigationPropertyName mspcat_mspcat_certificationrequest_mspcat_certificationrequest_Supersededby

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000
Many-to-Many relationships

mspcat_attachedpackages
See mspcat_packages mspcat_attachedpackages Many-To-Many Relationship

ノ Expand table

Property Value

IntersectEntityName mspcat_certreq_package_association

IsCustomizable True

SchemaName mspcat_attachedpackages

IntersectAttribute mspcat_certificationrequestid

NavigationPropertyName mspcat_attachedpackages

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseLabel
Group: Details
Label: Related offers
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Catalog Configuration
(mspcat_CatalogDescription) table/entity
reference
Article • 11/06/2024

Contains descriptive data for the Catalog

Messages
The following table lists the messages for the Catalog Configuration (mspcat_CatalogDescription)
table. Messages represent operations that can be performed on the table. They may also be
events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Create POST /mspcat_catalogdescriptions Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_catalogdescriptions(mspcat_catalogdescriptionid)
See Delete

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

Restore Restore Learn to use messages with


Event: True the SDK for .NET

Retrieve GET Retrieve records


Event: True /mspcat_catalogdescriptions(mspcat_catalogdescriptionid)
See Retrieve

RetrieveMultiple GET /mspcat_catalogdescriptions Query data


Event: True See Query data

SetState PATCH SetStateRequest


Event: True /mspcat_catalogdescriptions(mspcat_catalogdescriptionid)
Update the statecode and statuscode properties.

Update PATCH Update records


Event: True /mspcat_catalogdescriptions(mspcat_catalogdescriptionid)
See Update
Name Web API Operation SDK for .NET
Is Event?

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_catalogdescriptions(mspcat_catalogdescriptionid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Catalog Configuration (mspcat_CatalogDescription)
table. Events are messages that exist so that you can subscribe to them. Unless you added the
event, you shouldn't invoke the message, only subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Catalog Configuration
(mspcat_CatalogDescription) table.

ノ Expand table

Property Value

DisplayName Catalog Configuration

DisplayCollectionName Catalog Configurations

SchemaName mspcat_CatalogDescription

CollectionSchemaName mspcat_CatalogDescriptions
Property Value

EntitySetName mspcat_catalogdescriptions

LogicalName mspcat_catalogdescription

LogicalCollectionName mspcat_catalogdescriptions

PrimaryIdAttribute mspcat_catalogdescriptionid

PrimaryNameAttribute mspcat_catalogname

TableType Standard

OwnershipType OrganizationOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually
both). Listed by SchemaName.

ImportSequenceNumber
mspcat_AllowUnmanagedSolutions
mspcat_CatalogDescriptionId
mspcat_CatalogEnabled
mspcat_catalogimagefile
mspcat_CatalogName
mspcat_Description
mspcat_EnableGlobalAutoApproval
mspcat_HelpLink
mspcat_Icon
OverriddenCreatedOn
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber

ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False
Property Value

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_AllowUnmanagedSolutions

ノ Expand table

Property Value

Description Allows unmanaged solutions in packages

DisplayName Allow Unmanaged Solutions

IsValidForForm True

IsValidForRead True

LogicalName mspcat_allowunmanagedsolutions

RequiredLevel ApplicationRequired

Type Boolean

GlobalChoiceName mspcat_catalogdescription_mspcat_allowunmanagedsolutions

DefaultValue False

True Label Yes

False Label No

mspcat_CatalogDescriptionId

ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Catalog Description

IsValidForForm False
Property Value

IsValidForRead True

LogicalName mspcat_catalogdescriptionid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_CatalogEnabled

ノ Expand table

Property Value

Description Enable or disable all operations for the Catalog

DisplayName Enabled

IsValidForForm True

IsValidForRead True

LogicalName mspcat_catalogenabled

RequiredLevel ApplicationRequired

Type Boolean

GlobalChoiceName mspcat_catalogdescription_mspcat_catalogenabled

DefaultValue True

True Label Enabled

False Label Disabled

mspcat_catalogimagefile

ノ Expand table

Property Value

Description Image used to represent this catalog

DisplayName Catalog Image

IsValidForForm True

IsValidForRead True

LogicalName mspcat_catalogimagefile
Property Value

RequiredLevel None

Type Image

CanStoreFullImage True

IsPrimaryImage False

MaxHeight 144

MaxSizeInKB 10240

MaxWidth 144

mspcat_CatalogName

ノ Expand table

Property Value

Description Display name of the catalog

DisplayName Catalog Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_catalogname

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_Description

ノ Expand table

Property Value

Description Describes the purpose of this catalog


Property Value

DisplayName Description

IsValidForForm True

IsValidForRead True

LogicalName mspcat_description

RequiredLevel Recommended

Type String

Format TextArea

FormatName TextArea

ImeMode Auto

IsLocalizable False

MaxLength 4000

mspcat_EnableGlobalAutoApproval

ノ Expand table

Property Value

Description When enabled, this will automatically approve all submissions into the system that
reach the submitted stage without review. WarningWhen enabled there will be no
opportunity to reject a submission.

DisplayName Enable Global Auto Approval

IsValidForForm True

IsValidForRead True

LogicalName mspcat_enableglobalautoapproval

RequiredLevel ApplicationRequired

Type Boolean

GlobalChoiceName mspcat_catalogdescription_mspcat_enableglobalautoapproval

DefaultValue False

True Label Yes

False Label No
mspcat_HelpLink

ノ Expand table

Property Value

Description Link to help users with submission information

DisplayName Help Link

IsValidForForm True

IsValidForRead True

LogicalName mspcat_helplink

RequiredLevel None

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 255

mspcat_Icon

ノ Expand table

Property Value

Description Image used to represent the catalog

DisplayName Icon

IsValidForForm True

IsValidForRead True

LogicalName mspcat_icon

RequiredLevel None

Type Image

CanStoreFullImage True

IsPrimaryImage True

MaxHeight 144
Property Value

MaxSizeInKB 10240

MaxWidth 144

OverriddenCreatedOn

ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

statecode

ノ Expand table

Property Value

Description Status of the Catalog Description

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired
Property Value

Type State

DefaultFormValue

GlobalChoiceName mspcat_catalogdescription_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 1
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode

ノ Expand table

Property Value

Description Reason for the status of the Catalog Description

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_catalogdescription_statuscode

statuscode Choices/Options

ノ Expand table
Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

TimeZoneRuleVersionNumber

ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode

ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer
Property Value

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by
SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
mspcat_catalogimagefile_Timestamp
mspcat_catalogimagefile_URL
mspcat_catalogimagefileId
mspcat_Icon_Timestamp
mspcat_Icon_URL
mspcat_IconId
OrganizationId
VersionNumber

CreatedBy

ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser
CreatedOn

ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy

ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn

ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy

ノ Expand table
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

Type Lookup

Targets systemuser

mspcat_catalogimagefile_Timestamp

ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName mspcat_catalogimagefile_timestamp

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

mspcat_catalogimagefile_URL

ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False
Property Value

IsValidForRead True

LogicalName mspcat_catalogimagefile_url

RequiredLevel None

Type String

Format Url

FormatName Url

ImeMode Disabled

IsLocalizable False

MaxLength 200

mspcat_catalogimagefileId

ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName mspcat_catalogimagefileid

RequiredLevel None

Type Uniqueidentifier

mspcat_Icon_Timestamp

ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True
Property Value

LogicalName mspcat_icon_timestamp

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

mspcat_Icon_URL

ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName mspcat_icon_url

RequiredLevel None

Type String

Format Url

FormatName Url

ImeMode Disabled

IsLocalizable False

MaxLength 200

mspcat_IconId

ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False
Property Value

IsValidForRead True

LogicalName mspcat_iconid

RequiredLevel None

Type Uniqueidentifier

OrganizationId

ノ Expand table

Property Value

Description Unique identifier for the organization

DisplayName Organization Id

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel None

Type Lookup

Targets organization

VersionNumber

ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807
Property Value

MinValue -9223372036854775808

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Catalog Item (mspcat_applications)
table/entity reference
Article • 11/06/2024

Entry that will appear in the Catalog

Messages
The following table lists the messages for the Catalog Item (mspcat_applications) table. Messages represent
operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_applicationses(mspcat_applicationsid)
Update the ownerid property.

Create POST /mspcat_applicationses Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_applicationses(mspcat_applicationsid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

mspcat_InstallCatalogItem mspcat_InstallCatalogItem function Learn to use messages with the SDK for
Event: False .NET

Retrieve GET Retrieve records


Event: True /mspcat_applicationses(mspcat_applicationsid)
See Retrieve

RetrieveMultiple GET /mspcat_applicationses Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest


Event: True
Name Web API Operation SDK for .NET
Is Event?

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True

SetState PATCH SetStateRequest


Event: True /mspcat_applicationses(mspcat_applicationsid)
Update the statecode and statuscode
properties.

Update PATCH Update records


Event: True /mspcat_applicationses(mspcat_applicationsid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_applicationses(mspcat_applicationsid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Catalog Item (mspcat_applications) table. Events are messages that
exist so that you can subscribe to them. Unless you added the event, you shouldn't invoke the message, only
subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Catalog Item (mspcat_applications) table.

ノ Expand table

Property Value

DisplayName Catalog Item

DisplayCollectionName Catalog Items


Property Value

SchemaName mspcat_applications

CollectionSchemaName mspcat_applicationses

EntitySetName mspcat_applicationses

LogicalName mspcat_applications

LogicalCollectionName mspcat_applicationses

PrimaryIdAttribute mspcat_applicationsid

PrimaryNameAttribute mspcat_name

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.

ImportSequenceNumber
mspcat_AdminCenterVisibility
mspcat_allowautoapproval
mspcat_appicon216x216link
mspcat_appicon48x48link
mspcat_applicationitemcrossreferance
mspcat_applicationsId
mspcat_ApplicationType
mspcat_AzureAssetId
mspcat_BusinessCategory
mspcat_CatalogVisibility
mspcat_CodeRepo
mspcat_ComponentLogicalName
mspcat_DeployType
mspcat_Description
mspcat_EngineeringContact
mspcat_HelpLink
mspcat_LastSyncDate
mspcat_LegalTerms
mspcat_LegalTermsLink
mspcat_name
mspcat_PackageAsset
mspcat_PostInstallOperationType
mspcat_PrivacyPolicyUrl
mspcat_PublisherId
mspcat_PushedDate
mspcat_RequireEntitlement
mspcat_SinglePageApplicationUrl
mspcat_SupportContact
mspcat_SupportedApplicationTypes
mspcat_SupportsAppType
mspcat_TargetStudioType
mspcat_TPSID
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber
ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_AdminCenterVisibility
ノ Expand table

Property Value

Description

DisplayName AdminCenter Visibility

IsValidForForm True

IsValidForRead True

LogicalName mspcat_admincentervisibility

RequiredLevel Recommended

Type MultiSelectPicklist
Property Value

DefaultFormValue

GlobalChoiceName mspcat_applicationvisibility

mspcat_AdminCenterVisibility Choices/Options

ノ Expand table

Value Label

526430001 Crm Admin Center

526430002 Bap Admin Center

526430003 One Admin Center

mspcat_allowautoapproval
ノ Expand table

Property Value

Description Permits auto-approvals for this app's requests if they are constrained to the list of GEOs in the
"auto-approved GEOs" list.

DisplayName Allow auto-approval

IsValidForForm True

IsValidForRead True

LogicalName mspcat_allowautoapproval

RequiredLevel None

Type Boolean

GlobalChoiceName mspcat_applications_mspcat_allowautoapproval

DefaultValue False

True Label Yes

False Label No

mspcat_appicon216x216link
ノ Expand table

Property Value

Description Large App Icon Link.

DisplayName Large Icon (216x216)


Property Value

IsValidForForm True

IsValidForRead True

LogicalName mspcat_appicon216x216link

RequiredLevel None

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 4000

mspcat_appicon48x48link
ノ Expand table

Property Value

Description 48x48 Application Icon Link

DisplayName Small Icon (48x48)

IsValidForForm True

IsValidForRead True

LogicalName mspcat_appicon48x48link

RequiredLevel None

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 4000

mspcat_applicationitemcrossreferance
ノ Expand table

Property Value

Description Relates to cross-reference table for application items, allows for a Id to item revision lookup
Property Value

DisplayName Catalog Item Cross Reference

IsValidForForm True

IsValidForRead True

LogicalName mspcat_applicationitemcrossreferance

RequiredLevel None

Type Lookup

Targets mspcat_applicationreference

mspcat_applicationsId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Catalog Item

IsValidForForm False

IsValidForRead True

LogicalName mspcat_applicationsid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_ApplicationType
ノ Expand table

Property Value

Description Type of application entry. used to describe the intended use case for this catalog item.

DisplayName Type

IsValidForForm True

IsValidForRead True

LogicalName mspcat_applicationtype

RequiredLevel Recommended

Type Picklist

DefaultFormValue 526430000

GlobalChoiceName mspcat_applications_applicationtype
mspcat_ApplicationType Choices/Options

ノ Expand table

Value Label

526430000 Component Collection

526430001 Application

mspcat_AzureAssetId
ノ Expand table

Property Value

Description

DisplayName Azure Asset Id

IsValidForForm True

IsValidForRead True

LogicalName mspcat_azureassetid

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 110

mspcat_BusinessCategory
ノ Expand table

Property Value

Description Business Categories assigned to this Catalog Item.

DisplayName Business Category

IsValidForForm True

IsValidForRead True

LogicalName mspcat_businesscategory

RequiredLevel None

Type MultiSelectPicklist
Property Value

DefaultFormValue

GlobalChoiceName mspcat_catalogbusinesscategory

mspcat_BusinessCategory Choices/Options

ノ Expand table

Value Label

526430000 Customer Service

526430001 Project Management

526430002 Calendar Management & Scheduling

526430003 Email Management

526430004 Files & Documentation

526430005 Notification & Reminders

526430006 Analytics

526430007 Collaboration

526430008 Commerce

526430009 Finance

526430010 Compliance & Legal

526430011 Sales

526430012 IT Tools

526430013 Marketing

526430014 Operations & Supply Chain

526430015 Internet of Things

526430016 AI Machine Learning

526430017 Geolocation

526430018 Human Resources

mspcat_CatalogVisibility
ノ Expand table

Property Value

Description

DisplayName Catalog Visibility


Property Value

IsValidForForm True

IsValidForRead True

LogicalName mspcat_catalogvisibility

RequiredLevel Recommended

Type MultiSelectPicklist

DefaultFormValue

GlobalChoiceName mspcat_catalogvisibility

mspcat_CatalogVisibility Choices/Options

ノ Expand table

Value Label

526430000 Admin Centers

526430001 Teams

mspcat_CodeRepo
ノ Expand table

Property Value

Description Code repository where the source code for this submission lives

DisplayName Code Repository

IsValidForForm True

IsValidForRead True

LogicalName mspcat_coderepo

RequiredLevel None

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 500

mspcat_ComponentLogicalName
ノ Expand table

Property Value

Description Logical name of the component to launch when completed

DisplayName Component Logical Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_componentlogicalname

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_DeployType
ノ Expand table

Property Value

Description Describes how a given application will be deployed when acquired.

DisplayName Deploy Type

IsValidForForm True

IsValidForRead True

LogicalName mspcat_deploytype

RequiredLevel ApplicationRequired

Type Picklist

DefaultFormValue 526430000

GlobalChoiceName mspcat_applications_deploytype

mspcat_DeployType Choices/Options

ノ Expand table

Value Label

526430000 Normal
Value Label

526430001 Template

mspcat_Description
ノ Expand table

Property Value

Description

DisplayName Description

IsValidForForm True

IsValidForRead True

LogicalName mspcat_description

RequiredLevel None

Type Memo

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 10000

mspcat_EngineeringContact
ノ Expand table

Property Value

Description This will be the engineering contact used to by the approval team to communicate with the publisher.

DisplayName Engineering Contact

IsValidForForm True

IsValidForRead True

LogicalName mspcat_engineeringcontact

RequiredLevel None

Type Lookup

Targets contact

mspcat_HelpLink
ノ Expand table

Property Value

Description Link to Documentation or Help for this Catalog Item.

DisplayName Help Link

IsValidForForm True

IsValidForRead True

LogicalName mspcat_helplink

RequiredLevel None

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 500

mspcat_LastSyncDate
ノ Expand table

Property Value

Description Date record was last synced from TPS

DisplayName Last Sync Date

IsValidForForm True

IsValidForRead True

LogicalName mspcat_lastsyncdate

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior True

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Auto

SourceTypeMask 0

mspcat_LegalTerms
ノ Expand table

Property Value

Description Legal Terms ( long form ) that are associated with this catalog item

DisplayName Legal Terms

IsValidForForm True

IsValidForRead True

LogicalName mspcat_legalterms

RequiredLevel None

Type Memo

Format Text

FormatName RichText

ImeMode Auto

IsLocalizable False

MaxLength 18000

mspcat_LegalTermsLink
ノ Expand table

Property Value

Description Link to legal terms for this catalog item.

DisplayName Legal Terms Link

IsValidForForm True

IsValidForRead True

LogicalName mspcat_legaltermslink

RequiredLevel None

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 500

mspcat_name
ノ Expand table

Property Value

Description The name of the custom entity.

DisplayName Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_name

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_PackageAsset
ノ Expand table

Property Value

Description Package Asset that will be deployed

DisplayName Package Asset

IsValidForForm True

IsValidForRead True

LogicalName mspcat_packageasset

RequiredLevel None

Type Lookup

Targets mspcat_packages

mspcat_PostInstallOperationType
ノ Expand table

Property Value

Description This stores the action to execute post install

DisplayName Post Install Operation Type


Property Value

IsValidForForm True

IsValidForRead True

LogicalName mspcat_postinstalloperationtype

RequiredLevel ApplicationRequired

Type Picklist

DefaultFormValue 0

GlobalChoiceName mspcat_mspcat_applications_mspcat_postinstalloperationtype

mspcat_PostInstallOperationType Choices/Options

ノ Expand table

Value Label

0 None

1 Editor

2 Player

3 Solution

mspcat_PrivacyPolicyUrl
ノ Expand table

Property Value

Description Link to privacy policy to display

DisplayName Privacy Policy Link

IsValidForForm True

IsValidForRead True

LogicalName mspcat_privacypolicyurl

RequiredLevel None

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 500
mspcat_PublisherId
ノ Expand table

Property Value

Description

DisplayName Publishers

IsValidForForm True

IsValidForRead True

LogicalName mspcat_publisherid

RequiredLevel ApplicationRequired

Type Lookup

Targets mspcat_publisher

mspcat_PushedDate
ノ Expand table

Property Value

Description Last Date that this was pushed to TPS\PES

DisplayName Pushed Date

IsValidForForm True

IsValidForRead True

LogicalName mspcat_pusheddate

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior True

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Auto

SourceTypeMask 0

mspcat_RequireEntitlement
ノ Expand table

Property Value

Description
Property Value

DisplayName RequireEntitlement

IsValidForForm True

IsValidForRead True

LogicalName mspcat_requireentitlement

RequiredLevel None

Type Boolean

GlobalChoiceName mspcat_applications_mspcat_requireentitlement

DefaultValue False

True Label Yes

False Label No

mspcat_SinglePageApplicationUrl
ノ Expand table

Property Value

Description SPA

DisplayName SinglePageApplicationUrl

IsValidForForm True

IsValidForRead True

LogicalName mspcat_singlepageapplicationurl

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 300

mspcat_SupportContact
ノ Expand table

Property Value

Description This refers to the support user contact


Property Value

DisplayName Support Contact

IsValidForForm True

IsValidForRead True

LogicalName mspcat_supportcontact

RequiredLevel None

Type Lookup

Targets contact

mspcat_SupportedApplicationTypes
ノ Expand table

Property Value

Description

DisplayName Supported Application Types

IsValidForForm True

IsValidForRead True

LogicalName mspcat_supportedapplicationtypes

RequiredLevel None

Type MultiSelectPicklist

DefaultFormValue

GlobalChoiceName mspcat_mspcat_applications_mspcat_supportedapplicationtypes

mspcat_SupportedApplicationTypes Choices/Options

ノ Expand table

Value Label

1 CanvasApps

2 ModelApps

3 PowerPortals

4 PowerAutomate

mspcat_SupportsAppType
ノ Expand table
Property Value

Description Identifies the type of UI that this component or application works with

DisplayName Supports App Type

IsValidForForm True

IsValidForRead True

LogicalName mspcat_supportsapptype

RequiredLevel None

Type MultiSelectPicklist

DefaultFormValue

GlobalChoiceName mspcat_catalogapptypes

mspcat_SupportsAppType Choices/Options

ノ Expand table

Value Label

1 Canvas Apps

2 Model Apps

3 Power Portals

4 Power Automate

mspcat_TargetStudioType
ノ Expand table

Property Value

Description Describes which surface needs to be opened post install

DisplayName Target Studio Type

IsValidForForm True

IsValidForRead True

LogicalName mspcat_targetstudiotype

RequiredLevel ApplicationRequired

Type Picklist

DefaultFormValue 0

GlobalChoiceName mspcat_mspcat_applications_mspcat_targetstudiotype
mspcat_TargetStudioType Choices/Options

ノ Expand table

Value Label

0 Default

1 PowerApps

2 PowerAutomate

3 Pages

4 Bots

mspcat_TPSID
ノ Expand table

Property Value

Description Application ID that will be used as the key for external systems. Must be unique

DisplayName Catalog Item Id

IsValidForForm True

IsValidForRead True

LogicalName mspcat_tpsid

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 150

OverriddenCreatedOn
ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True
Property Value

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

OwnerId
ノ Expand table

Property Value

Description Owner Id

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType
ノ Expand table

Property Value

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName
statecode
ノ Expand table

Property Value

Description Status of the Applications

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_applications_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 3
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Applications

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status
Property Value

DefaultFormValue

GlobalChoiceName mspcat_applications_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

3 Label: Draft
State:0
TransitionData: None

526430000 Label: Published


State:0
TransitionData: None

526430001 Label: Rejected


State:1
TransitionData: None

526430002 Label: Pending Approval


State:0
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647
Property Value

MinValue -1

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by
SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber

CreatedBy
ノ Expand table

Property Value

Description Unique identifier of the user who created the record.


Property Value

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

Property Value

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True
Property Value

LogicalName createdonbehalfby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive
Property Value

SourceTypeMask 0

ModifiedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

OwnerIdName
ノ Expand table

Property Value

Description Name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridname

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwnerIdYomiName
ノ Expand table

Property Value

Description Yomi name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwningBusinessUnit
ノ Expand table

Property Value

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit

OwningTeam
ノ Expand table

Property Value

Description Unique identifier for the team that owns the record.

DisplayName Owning Team


Property Value

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808
Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.

mspcat_mspcat_applications_applicationitemcrossr
mspcat_mspcat_applications_PackageAsset_mspcat_p
mspcat_mspcat_publisher_mspcat_applications_PublisherId

mspcat_mspcat_applications_applicationitemcrossr
One-To-Many Relationship: mspcat_applicationreference mspcat_mspcat_applications_applicationitemcrossr

ノ Expand table

Property Value

ReferencedEntity mspcat_applicationreference

ReferencedAttribute mspcat_applicationreferenceid

ReferencingAttribute mspcat_applicationitemcrossreferance

ReferencingEntityNavigationPropertyName mspcat_applicationitemcrossreferance

IsHierarchical

CascadeConfiguration Archive: RemoveLink


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

mspcat_mspcat_applications_PackageAsset_mspcat_p
One-To-Many Relationship: mspcat_packages mspcat_mspcat_applications_PackageAsset_mspcat_p

ノ Expand table

Property Value

ReferencedEntity mspcat_packages

ReferencedAttribute mspcat_packagesid

ReferencingAttribute mspcat_packageasset

ReferencingEntityNavigationPropertyName mspcat_PackageAsset

IsHierarchical

CascadeConfiguration Archive: RemoveLink


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Property Value

Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

mspcat_mspcat_publisher_mspcat_applications_PublisherId
One-To-Many Relationship: mspcat_publisher mspcat_mspcat_publisher_mspcat_applications_PublisherId

ノ Expand table

Property Value

ReferencedEntity mspcat_publisher

ReferencedAttribute mspcat_publisherid

ReferencingAttribute mspcat_publisherid

ReferencingEntityNavigationPropertyName mspcat_PublisherId

IsHierarchical

CascadeConfiguration Archive: Cascade


Assign: Cascade
Delete: Cascade
Merge: NoCascade
Reparent: Cascade
RollupView: NoCascade
Share: Cascade
Unshare: Cascade

One-to-Many relationships
These relationships are one-to-many. Listed by SchemaName.

mspcat_applications_mspcat_InstallActivities
mspcat_CatalogItemFile_CatalogItem_mspcat
mspcat_mspcat_applications_mspcat_certificationrequest_Application
mspcat_mspcat_installhistory_CatalogItem_mspcat_

mspcat_applications_mspcat_InstallActivities
Many-To-One Relationship: mspcat_installactivity mspcat_applications_mspcat_InstallActivities

ノ Expand table

Property Value

ReferencingEntity mspcat_installactivity

ReferencingAttribute regardingobjectid
Property Value

ReferencedEntityNavigationPropertyName mspcat_applications_mspcat_InstallActivities

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: DoNotDisplay
Group: Details
Label:
MenuId: null
Order:
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_CatalogItemFile_CatalogItem_mspcat
Many-To-One Relationship: mspcat_catalogitemfile mspcat_CatalogItemFile_CatalogItem_mspcat

ノ Expand table

Property Value

ReferencingEntity mspcat_catalogitemfile

ReferencingAttribute mspcat_catalogitem

ReferencedEntityNavigationPropertyName mspcat_CatalogItemFile_CatalogItem_mspcat

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_mspcat_applications_mspcat_certificationrequest_Application
Many-To-One Relationship: mspcat_certificationrequest
mspcat_mspcat_applications_mspcat_certificationrequest_Application

ノ Expand table

Property Value

ReferencingEntity mspcat_certificationrequest

ReferencingAttribute mspcat_application

ReferencedEntityNavigationPropertyName mspcat_mspcat_applications_mspcat_certificationrequest_Application

IsCustomizable True
Property Value

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_mspcat_installhistory_CatalogItem_mspcat_
Many-To-One Relationship: mspcat_installhistory mspcat_mspcat_installhistory_CatalogItem_mspcat_

ノ Expand table

Property Value

ReferencingEntity mspcat_installhistory

ReferencingAttribute mspcat_catalogitem

ReferencedEntityNavigationPropertyName mspcat_mspcat_installhistory_CatalogItem_mspcat_

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

Many-to-Many relationships
These relationships are many-to-many. Listed by SchemaName.

mspcat_app_policy_reln
mspcat_mspcat_packages_mspcat_applications

mspcat_app_policy_reln
See mspcat_staticanalysispolicy mspcat_app_policy_reln Many-To-Many Relationship

ノ Expand table

Property Value

IntersectEntityName mspcat_app_policy_reln_entity

IsCustomizable True
Property Value

SchemaName mspcat_app_policy_reln

IntersectAttribute mspcat_applicationsid

NavigationPropertyName mspcat_app_policy_reln

AssociatedMenuConfiguration AvailableOffline: True


Behavior: DoNotDisplay
Group: Details
Label:
MenuId: null
Order:
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_mspcat_packages_mspcat_applications
See mspcat_packages mspcat_mspcat_packages_mspcat_applications Many-To-Many Relationship

ノ Expand table

Property Value

IntersectEntityName mspcat_mspcat_packages_mspcat_applications

IsCustomizable True

SchemaName mspcat_mspcat_packages_mspcat_applications

IntersectAttribute mspcat_applicationsid

NavigationPropertyName mspcat_mspcat_packages_mspcat_applications

AssociatedMenuConfiguration AvailableOffline: True


Behavior: DoNotDisplay
Group: Details
Label:
MenuId: null
Order:
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Catalog Item Cross Reference
(mspcat_applicationreference) table/entity
reference
Article • 11/06/2024

Cross Reference table between Catalog items as they are versioned.

Messages
The following table lists the messages for the Catalog Item Cross Reference (mspcat_applicationreference) table. Messages
represent operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_applicationreferences(mspcat_applicationreferenceid)
Update the ownerid property.

Create POST /mspcat_applicationreferences Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_applicationreferences(mspcat_applicationreferenceid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

Retrieve GET Retrieve records


Event: True /mspcat_applicationreferences(mspcat_applicationreferenceid)
See Retrieve

RetrieveMultiple GET /mspcat_applicationreferences Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest


Event: True

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True

SetState PATCH SetStateRequest


Event: True /mspcat_applicationreferences(mspcat_applicationreferenceid)
Update the statecode and statuscode properties.
Name Web API Operation SDK for .NET
Is Event?

Update PATCH Update records


Event: True /mspcat_applicationreferences(mspcat_applicationreferenceid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_applicationreferences(mspcat_applicationreferenceid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Catalog Item Cross Reference (mspcat_applicationreference) table. Events are
messages that exist so that you can subscribe to them. Unless you added the event, you shouldn't invoke the message,
only subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Catalog Item Cross Reference (mspcat_applicationreference) table.

ノ Expand table

Property Value

DisplayName Catalog Item Cross Reference

DisplayCollectionName Catalog Item Cross References

SchemaName mspcat_applicationreference

CollectionSchemaName mspcat_applicationreferences

EntitySetName mspcat_applicationreferences

LogicalName mspcat_applicationreference

LogicalCollectionName mspcat_applicationreferences

PrimaryIdAttribute mspcat_applicationreferenceid

PrimaryNameAttribute mspcat_name
Property Value

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.

ImportSequenceNumber
mspcat_ApplicationExternalId
mspcat_applicationreferenceId
mspcat_Name
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber
ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_ApplicationExternalId
ノ Expand table

Property Value

Description External Application Id used to identity this application.

DisplayName Application External Id

IsValidForForm True

IsValidForRead True
Property Value

LogicalName mspcat_applicationexternalid

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_applicationreferenceId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Catalog Item Cross Reference

IsValidForForm False

IsValidForRead True

LogicalName mspcat_applicationreferenceid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_Name
ノ Expand table

Property Value

Description

DisplayName Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_name

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100
OverriddenCreatedOn
ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

OwnerId
ノ Expand table

Property Value

Description Owner Id

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType
ノ Expand table

Property Value

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True
Property Value

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

statecode
ノ Expand table

Property Value

Description Status of the Catalog Item Cross Reference

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_applicationreference_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 1
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Catalog Item Cross Reference

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None
Property Value

Type Status

DefaultFormValue

GlobalChoiceName mspcat_applicationreference_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None
Property Value

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber

CreatedBy
ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True
Property Value

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

OwnerIdName
ノ Expand table

Property Value

Description Name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridname

RequiredLevel SystemRequired
Property Value

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwnerIdYomiName
ノ Expand table

Property Value

Description Yomi name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwningBusinessUnit
ノ Expand table

Property Value

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit
OwningTeam
ノ Expand table

Property Value

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807
Property Value

MinValue -9223372036854775808

One-to-Many relationships
These relationships are one-to-many. Listed by SchemaName.

mspcat_mspcat_applications_applicationitemcrossr
mspcat_mspcat_packages_applicationitemcrossrefer

mspcat_mspcat_applications_applicationitemcrossr
Many-To-One Relationship: mspcat_applications mspcat_mspcat_applications_applicationitemcrossr

ノ Expand table

Property Value

ReferencingEntity mspcat_applications

ReferencingAttribute mspcat_applicationitemcrossreferance

ReferencedEntityNavigationPropertyName mspcat_mspcat_applications_applicationitemcrossr

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_mspcat_packages_applicationitemcrossrefer
Many-To-One Relationship: mspcat_packages mspcat_mspcat_packages_applicationitemcrossrefer

ノ Expand table

Property Value

ReferencingEntity mspcat_packages

ReferencingAttribute mspcat_applicationitemcrossreferance

ReferencedEntityNavigationPropertyName mspcat_mspcat_packages_applicationitemcrossrefer

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000
See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Catalog Item File (mspcat_CatalogItemFile)
table/entity reference
Article • 11/06/2024

Supporting Files for the a catalog item

Messages
The following table lists the messages for the Catalog Item File (mspcat_CatalogItemFile) table. Messages
represent operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_catalogitemfiles(mspcat_catalogitemfileid)
Update the ownerid property.

Create POST /mspcat_catalogitemfiles Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_catalogitemfiles(mspcat_catalogitemfileid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

Retrieve GET Retrieve records


Event: True /mspcat_catalogitemfiles(mspcat_catalogitemfileid)
See Retrieve

RetrieveMultiple GET /mspcat_catalogitemfiles Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest


Event: True

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True

SetState PATCH SetStateRequest


Event: True /mspcat_catalogitemfiles(mspcat_catalogitemfileid)
Update the statecode and statuscode properties.
Name Web API Operation SDK for .NET
Is Event?

Update PATCH Update records


Event: True /mspcat_catalogitemfiles(mspcat_catalogitemfileid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_catalogitemfiles(mspcat_catalogitemfileid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Catalog Item File (mspcat_CatalogItemFile) table. Events are messages
that exist so that you can subscribe to them. Unless you added the event, you shouldn't invoke the message, only
subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Catalog Item File (mspcat_CatalogItemFile) table.

ノ Expand table

Property Value

DisplayName Catalog Item File

DisplayCollectionName Catalog Item Files

SchemaName mspcat_CatalogItemFile

CollectionSchemaName mspcat_CatalogItemFiles

EntitySetName mspcat_catalogitemfiles

LogicalName mspcat_catalogitemfile

LogicalCollectionName mspcat_catalogitemfiles
Property Value

PrimaryIdAttribute mspcat_catalogitemfileid

PrimaryNameAttribute mspcat_name

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.

ImportSequenceNumber
mspcat_CatalogItem
mspcat_CatalogItemFileId
mspcat_Description
mspcat_FileType
mspcat_Image
mspcat_ImageSize
mspcat_Name
mspcat_RecordType
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber
ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648
mspcat_CatalogItem
ノ Expand table

Property Value

Description Catalog Item that owns this file asset

DisplayName Catalog Item

IsValidForForm True

IsValidForRead True

LogicalName mspcat_catalogitem

RequiredLevel ApplicationRequired

Type Lookup

Targets mspcat_applications

mspcat_CatalogItemFileId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Catalog Item File

IsValidForForm False

IsValidForRead True

LogicalName mspcat_catalogitemfileid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_Description
ノ Expand table

Property Value

Description File Item description

DisplayName Description

IsValidForForm True

IsValidForRead True

LogicalName mspcat_description

RequiredLevel None

Type Memo
Property Value

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 2000

mspcat_FileType
ノ Expand table

Property Value

Description Type of File item described

DisplayName File Type

IsValidForForm True

IsValidForRead True

LogicalName mspcat_filetype

RequiredLevel Recommended

Type Picklist

DefaultFormValue -1

GlobalChoiceName mspcat_catalogitemfile_filetype

mspcat_FileType Choices/Options

ノ Expand table

Value Label

526430000 Manifest

526430001 Document

526430002 Video

mspcat_Image
ノ Expand table

Property Value

Description Image for catalog item

DisplayName Image

IsValidForForm True
Property Value

IsValidForRead True

LogicalName mspcat_image

RequiredLevel None

Type Image

CanStoreFullImage True

IsPrimaryImage True

MaxHeight 144

MaxSizeInKB 10240

MaxWidth 144

mspcat_ImageSize
ノ Expand table

Property Value

Description Size of Image Described

DisplayName Image Size

IsValidForForm True

IsValidForRead True

LogicalName mspcat_imagesize

RequiredLevel Recommended

Type Picklist

DefaultFormValue -1

GlobalChoiceName mspcat_catalogitemfile_mspcat_imagesize

mspcat_ImageSize Choices/Options

ノ Expand table

Value Label

526429000 32 x 32

526430000 48 x 48

526430001 216 x 216

526430002 Screen Shot

mspcat_Name
ノ Expand table

Property Value

Description

DisplayName Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_name

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_RecordType
ノ Expand table

Property Value

Description Indicates if this is a image or file record

DisplayName Record Type

IsValidForForm True

IsValidForRead True

LogicalName mspcat_recordtype

RequiredLevel None

Type Boolean

GlobalChoiceName mspcat_catalogitemfile_mspcat_recordtype

DefaultValue False

True Label File

False Label Image

OverriddenCreatedOn
ノ Expand table
Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

OwnerId
ノ Expand table

Property Value

Description Owner Id

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType
ノ Expand table

Property Value

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True
Property Value

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

statecode
ノ Expand table

Property Value

Description Status of the Catalog Item File

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_catalogitemfile_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 526430001
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Catalog Item File

DisplayName Status Reason

IsValidForForm True
Property Value

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_catalogitemfile_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

526430001 Label: Pending Approval


State:0
TransitionData: None

526430002 Label: Published


State:0
TransitionData: None

526430003 Label: Rejected


State:1
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647
Property Value

MinValue -1

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
mspcat_File
mspcat_File_Name
mspcat_Image_Timestamp
mspcat_Image_URL
mspcat_ImageId
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber

CreatedBy
ノ Expand table
Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

Property Value

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True
Property Value

LogicalName createdonbehalfby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0
ModifiedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

mspcat_File
ノ Expand table

Property Value

Description Stored file Item

DisplayName File

IsValidForForm True

IsValidForRead True

LogicalName mspcat_file

RequiredLevel None

Type File

MaxSizeInKB 32768

mspcat_File_Name
ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName mspcat_file_name

RequiredLevel None
Property Value

Type String

Format Text

FormatName Text

ImeMode Disabled

IsLocalizable False

MaxLength 200

mspcat_Image_Timestamp
ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName mspcat_image_timestamp

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

mspcat_Image_URL
ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName mspcat_image_url

RequiredLevel None

Type String

Format Url

FormatName Url
Property Value

ImeMode Disabled

IsLocalizable False

MaxLength 200

mspcat_ImageId
ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName mspcat_imageid

RequiredLevel None

Type Uniqueidentifier

OwnerIdName
ノ Expand table

Property Value

Description Name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridname

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwnerIdYomiName
ノ Expand table

Property Value

Description Yomi name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwningBusinessUnit
ノ Expand table

Property Value

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit

OwningTeam
ノ Expand table

Property Value

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False
Property Value

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.

mspcat_CatalogItemFile_CatalogItem_mspcat
One-To-Many Relationship: mspcat_applications mspcat_CatalogItemFile_CatalogItem_mspcat

ノ Expand table

Property Value

ReferencedEntity mspcat_applications

ReferencedAttribute mspcat_applicationsid

ReferencingAttribute mspcat_catalogitem

ReferencingEntityNavigationPropertyName mspcat_CatalogItem

IsHierarchical

CascadeConfiguration Archive: Cascade


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Catalog Publisher (mspcat_publisher)
table/entity reference
Article • 11/06/2024

This the publisher Entity for holding TPS Publisher data.

Messages
The following table lists the messages for the Catalog Publisher (mspcat_publisher) table. Messages
represent operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_publishers(mspcat_publisherid)
Update the ownerid property.

Create POST /mspcat_publishers Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_publishers(mspcat_publisherid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

Restore Restore Learn to use messages with the SDK for


Event: True .NET

Retrieve GET Retrieve records


Event: True /mspcat_publishers(mspcat_publisherid)
See Retrieve

RetrieveMultiple GET /mspcat_publishers Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True
Name Web API Operation SDK for .NET
Is Event?

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest


Event: True

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True

SetState PATCH SetStateRequest


Event: True /mspcat_publishers(mspcat_publisherid)
Update the statecode and statuscode
properties.

Update PATCH Update records


Event: True /mspcat_publishers(mspcat_publisherid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_publishers(mspcat_publisherid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Catalog Publisher (mspcat_publisher) table. Events are
messages that exist so that you can subscribe to them. Unless you added the event, you shouldn't
invoke the message, only subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Catalog Publisher (mspcat_publisher) table.

ノ Expand table
Property Value

DisplayName Catalog Publisher

DisplayCollectionName Catalog Publishers

SchemaName mspcat_publisher

CollectionSchemaName mspcat_publishers

EntitySetName mspcat_publishers

LogicalName mspcat_publisher

LogicalCollectionName mspcat_publishers

PrimaryIdAttribute mspcat_publisherid

PrimaryNameAttribute mspcat_name

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both).
Listed by SchemaName.

ImportSequenceNumber
mspcat_allowautoapproval
mspcat_AzurePublisherId
mspcat_Description
mspcat_LastSyncDate
mspcat_name
mspcat_publisherId
mspcat_PublisherType
mspcat_PushedDate
mspcat_SubscriptionId
mspcat_TPSPublisherID
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber
ノ Expand table
Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_allowautoapproval
ノ Expand table

Property Value

Description Both the publisher and the app must allow auto-approvals in order for the app's approval
requests to look for auto-approval policies.

DisplayName Allow Auto-Approval

IsValidForForm True

IsValidForRead True

LogicalName mspcat_allowautoapproval

RequiredLevel None

Type Boolean

GlobalChoiceName mspcat_publisher_mspcat_allowautoapproval

DefaultValue False

True Label Yes

False Label No

mspcat_AzurePublisherId
ノ Expand table

Property Value

Description
Property Value

DisplayName Azure Publisher Id

IsValidForForm True

IsValidForRead True

LogicalName mspcat_azurepublisherid

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_Description
ノ Expand table

Property Value

Description

DisplayName Description

IsValidForForm True

IsValidForRead True

LogicalName mspcat_description

RequiredLevel None

Type Memo

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 2000

mspcat_LastSyncDate
ノ Expand table
Property Value

Description Date last synced with TPS\PES

DisplayName Last Sync Date

IsValidForForm True

IsValidForRead True

LogicalName mspcat_lastsyncdate

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior True

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Auto

SourceTypeMask 0

mspcat_name
ノ Expand table

Property Value

Description The name of the publisher.

DisplayName Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_name

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 250

mspcat_publisherId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Publisher

IsValidForForm False

IsValidForRead True

LogicalName mspcat_publisherid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_PublisherType

ノ Expand table

Property Value

Description

DisplayName Publisher Type

IsValidForForm True

IsValidForRead True

LogicalName mspcat_publishertype

RequiredLevel ApplicationRequired

Type Picklist

DefaultFormValue 1

GlobalChoiceName mspcat_mspcat_publisher_mspcat_publishertype

mspcat_PublisherType Choices/Options

ノ Expand table

Value Label

0 FirstParty

1 ThirdParty

526430002 Tenant

526430003 Partner
mspcat_PushedDate
ノ Expand table

Property Value

Description Date the record was pushed to TPS\PES

DisplayName Pushed Date

IsValidForForm True

IsValidForRead True

LogicalName mspcat_pusheddate

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior True

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Auto

SourceTypeMask 0

mspcat_SubscriptionId
ノ Expand table

Property Value

Description Azure Subscription ID where Items should be Posted

DisplayName Subscription Id

IsValidForForm True

IsValidForRead True

LogicalName mspcat_subscriptionid

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False
Property Value

MaxLength 100

mspcat_TPSPublisherID
ノ Expand table

Property Value

Description This is the GUID of the ID used by the integration systems

DisplayName Publisher ID

IsValidForForm True

IsValidForRead True

LogicalName mspcat_tpspublisherid

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 40

OverriddenCreatedOn
ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal
Property Value

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

OwnerId
ノ Expand table

Property Value

Description Owner Id

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType
ノ Expand table

Property Value

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

statecode
ノ Expand table
Property Value

Description Status of the Publisher

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_publisher_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 526430002
InvariantName: Active

1 Label: Inactive
DefaultStatus: 526430001
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Publisher

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue
Property Value

GlobalChoiceName mspcat_publisher_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

526430000 Label: Published


State:0
TransitionData: None

526430001 Label: TPS Disabled


State:1
TransitionData: None

526430002 Label: Pending Approval


State:0
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1
UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by
SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber

CreatedBy
ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By
Property Value

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

Property Value

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True
Property Value

LogicalName createdonbehalfby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime
Property Value

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

OwnerIdName
ノ Expand table

Property Value

Description Name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridname

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100
OwnerIdYomiName
ノ Expand table

Property Value

Description Yomi name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwningBusinessUnit
ノ Expand table

Property Value

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit

OwningTeam
ノ Expand table
Property Value

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None
Property Value

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

One-to-Many relationships
These relationships are one-to-many. Listed by SchemaName.

mspcat_mspcat_installhistory_Publisher_mspcat_pu
mspcat_mspcat_publisher_mspcat_applications_PublisherId
mspcat_mspcat_publisher_mspcat_certificationrequest_Publisher
mspcat_mspcat_publisher_mspcat_publisheridentity_Publisher
mspcat_mspcat_publisherusers_Publisher_mspcat_pu
mspcat_publisher_mspcat_InstallActivities

mspcat_mspcat_installhistory_Publisher_mspcat_pu
Many-To-One Relationship: mspcat_installhistory mspcat_mspcat_installhistory_Publisher_mspcat_pu

ノ Expand table

Property Value

ReferencingEntity mspcat_installhistory

ReferencingAttribute mspcat_publisher

ReferencedEntityNavigationPropertyName mspcat_mspcat_installhistory_Publisher_mspcat_pu

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_mspcat_publisher_mspcat_applications_PublisherId
Many-To-One Relationship: mspcat_applications
mspcat_mspcat_publisher_mspcat_applications_PublisherId

ノ Expand table
Property Value

ReferencingEntity mspcat_applications

ReferencingAttribute mspcat_publisherid

ReferencedEntityNavigationPropertyName mspcat_mspcat_publisher_mspcat_applications_PublisherId

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_mspcat_publisher_mspcat_certificationrequest_Publisher
Many-To-One Relationship: mspcat_certificationrequest
mspcat_mspcat_publisher_mspcat_certificationrequest_Publisher

ノ Expand table

Property Value

ReferencingEntity mspcat_certificationrequest

ReferencingAttribute mspcat_publisher

ReferencedEntityNavigationPropertyName mspcat_mspcat_publisher_mspcat_certificationrequest_Publisher

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_mspcat_publisher_mspcat_publisheridentity_Publisher
Many-To-One Relationship: mspcat_publisheridentity
mspcat_mspcat_publisher_mspcat_publisheridentity_Publisher

ノ Expand table
Property Value

ReferencingEntity mspcat_publisheridentity

ReferencingAttribute mspcat_publisher

ReferencedEntityNavigationPropertyName mspcat_mspcat_publisher_mspcat_publisheridentity_Publisher

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_mspcat_publisherusers_Publisher_mspcat_pu
Many-To-One Relationship: mspcat_publisherusers mspcat_mspcat_publisherusers_Publisher_mspcat_pu

ノ Expand table

Property Value

ReferencingEntity mspcat_publisherusers

ReferencingAttribute mspcat_publisher

ReferencedEntityNavigationPropertyName mspcat_mspcat_publisherusers_Publisher_mspcat_pu

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_publisher_mspcat_InstallActivities
Many-To-One Relationship: mspcat_installactivity mspcat_publisher_mspcat_InstallActivities

ノ Expand table

Property Value

ReferencingEntity mspcat_installactivity
Property Value

ReferencingAttribute regardingobjectid

ReferencedEntityNavigationPropertyName mspcat_publisher_mspcat_InstallActivities

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: DoNotDisplay
Group: Details
Label:
MenuId: null
Order:
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Configuration for PowerApps Checker
(mspcat_configurationforpowerapps)
table/entity reference
Article • 11/06/2024

Messages
The following table lists the messages for the Configuration for PowerApps Checker
(mspcat_configurationforpowerapps) table. Messages represent operations that can be performed on the table.
They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Create POST /mspcat_configurationforpowerappses Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_configurationforpowerappses(mspcat_configurationforpowerappsid)
See Delete

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

Restore Restore Learn to use messages with


Event: True the SDK for .NET

Retrieve GET Retrieve records


Event: True /mspcat_configurationforpowerappses(mspcat_configurationforpowerappsid)
See Retrieve

RetrieveMultiple GET /mspcat_configurationforpowerappses Query data


Event: True See Query data

SetState PATCH SetStateRequest


Event: True /mspcat_configurationforpowerappses(mspcat_configurationforpowerappsid)
Update the statecode and statuscode properties.

Update PATCH Update records


Event: True /mspcat_configurationforpowerappses(mspcat_configurationforpowerappsid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_configurationforpowerappses(mspcat_configurationforpowerappsid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False
Events
The following table lists the events for the Configuration for PowerApps Checker
(mspcat_configurationforpowerapps) table. Events are messages that exist so that you can subscribe to them.
Unless you added the event, you shouldn't invoke the message, only subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Configuration for PowerApps Checker
(mspcat_configurationforpowerapps) table.

ノ Expand table

Property Value

DisplayName Configuration for PowerApps Checker

DisplayCollectionName Configurations for PowerApps Checker

SchemaName mspcat_configurationforpowerapps

CollectionSchemaName mspcat_configurationforpowerappses

EntitySetName mspcat_configurationforpowerappses

LogicalName mspcat_configurationforpowerapps

LogicalCollectionName mspcat_configurationforpowerappses

PrimaryIdAttribute mspcat_configurationforpowerappsid

PrimaryNameAttribute mspcat_name

TableType Standard

OwnershipType OrganizationOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.

ImportSequenceNumber
mspcat_audience
mspcat_certificatePFXdata
mspcat_clientid
mspcat_configurationforpowerappsId
mspcat_name
mspcat_pfxpassword
mspcat_submissionurl
mspcat_tenant
OverriddenCreatedOn
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber
ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_audience
ノ Expand table

Property Value

Description

DisplayName AAD Audience

IsValidForForm True

IsValidForRead True

LogicalName mspcat_audience

RequiredLevel ApplicationRequired

Type String
Property Value

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 2200

mspcat_certificatePFXdata
ノ Expand table

Property Value

Description

DisplayName certificate PFX data in Base64 format

IsValidForForm True

IsValidForRead True

LogicalName mspcat_certificatepfxdata

RequiredLevel ApplicationRequired

Type Memo

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 20000

mspcat_clientid
ノ Expand table

Property Value

Description

DisplayName AAD Client ID

IsValidForForm True

IsValidForRead True

LogicalName mspcat_clientid

RequiredLevel ApplicationRequired

Type String
Property Value

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_configurationforpowerappsId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Configuration for PowerApps Checker

IsValidForForm False

IsValidForRead True

LogicalName mspcat_configurationforpowerappsid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_name
ノ Expand table

Property Value

Description The name of the custom entity.

DisplayName Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_name

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100
mspcat_pfxpassword
ノ Expand table

Property Value

Description

DisplayName Password for PFX data

IsValidForForm True

IsValidForRead True

LogicalName mspcat_pfxpassword

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_submissionurl
ノ Expand table

Property Value

Description

DisplayName Submission URL

IsValidForForm True

IsValidForRead True

LogicalName mspcat_submissionurl

RequiredLevel ApplicationRequired

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 2200

mspcat_tenant
ノ Expand table

Property Value

Description

DisplayName AAD Tenant

IsValidForForm True

IsValidForRead True

LogicalName mspcat_tenant

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OverriddenCreatedOn
ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

statecode
ノ Expand table
Property Value

Description Status of the Configuration for PowerApps Checker

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_configurationforpowerapps_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 1
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Configuration for PowerApps Checker

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_configurationforpowerapps_statuscode

statuscode Choices/Options
ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1
Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OrganizationId
VersionNumber

CreatedBy
ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal
Property Value

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.


Property Value

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

OrganizationId
ノ Expand table

Property Value

Description Unique identifier for the organization

DisplayName Organization Id

IsValidForForm False

IsValidForRead True

LogicalName organizationid
Property Value

RequiredLevel None

Type Lookup

Targets organization

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Install Activity (mspcat_InstallActivity)
table/entity reference
Article • 11/06/2024

Install History Activity Id's

Messages
The following table lists the messages for the Install Activity (mspcat_InstallActivity) table. Messages
represent operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_installactivities(activityid)
Update the ownerid property.

Create POST /mspcat_installactivities Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_installactivities(activityid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

Restore Restore Learn to use messages with the SDK for


Event: True .NET

Retrieve GET Retrieve records


Event: True /mspcat_installactivities(activityid)
See Retrieve

RetrieveMultiple GET /mspcat_installactivities Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True
Name Web API Operation SDK for .NET
Is Event?

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest


Event: True

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True

SetState PATCH SetStateRequest


Event: True /mspcat_installactivities(activityid)
Update the statecode and
statuscode properties.

Update PATCH Update records


Event: True /mspcat_installactivities(activityid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_installactivities(activityid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Install Activity (mspcat_InstallActivity) table. Events are
messages that exist so that you can subscribe to them. Unless you added the event, you shouldn't
invoke the message, only subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Install Activity (mspcat_InstallActivity) table.
ノ Expand table

Property Value

DisplayName Install Activity

DisplayCollectionName Install Activities

SchemaName mspcat_InstallActivity

CollectionSchemaName mspcat_InstallActivities

EntitySetName mspcat_installactivities

LogicalName mspcat_installactivity

LogicalCollectionName mspcat_installactivities

PrimaryIdAttribute activityid

PrimaryNameAttribute subject

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both).
Listed by SchemaName.

ActivityAdditionalParams
ActivityId
ActualDurationMinutes
ActualEnd
ActualStart
BCC
CC
Community
Customers
DeliveryPriorityCode
Description
ExchangeItemId
ExchangeWebLink
From
ImportSequenceNumber
IsBilled
IsMapiPrivate
IsWorkflowCreated
LastOnHoldTime
LeftVoiceMail
mspcat_InstallStatusProgress
OptionalAttendees
Organizer
OverriddenCreatedOn
OwnerId
OwnerIdType
Partners
PriorityCode
ProcessId
RegardingObjectId
RegardingObjectTypeCode
RequiredAttendees
Resources
ScheduledDurationMinutes
ScheduledEnd
ScheduledStart
SLAId
SortDate
StageId
StateCode
StatusCode
Subject
TimeZoneRuleVersionNumber
To
TransactionCurrencyId
TraversedPath
UTCConversionTimeZoneCode

ActivityAdditionalParams

ノ Expand table

Property Value

Description Additional information provided by the external application as JSON. For internal use only.

DisplayName Activity Additional Parameters

IsValidForForm True

IsValidForRead True

LogicalName activityadditionalparams

RequiredLevel None

Type Memo

Format TextArea
Property Value

FormatName TextArea

ImeMode Auto

IsLocalizable False

MaxLength 8192

ActivityId

ノ Expand table

Property Value

Description Unique identifier of the activity.

DisplayName Activity

IsValidForForm False

IsValidForRead True

LogicalName activityid

RequiredLevel SystemRequired

Type Uniqueidentifier

ActualDurationMinutes
ノ Expand table

Property Value

Description Actual duration of the activity in minutes.

DisplayName Actual Duration

IsValidForForm True

IsValidForRead True

LogicalName actualdurationminutes

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue 0
ActualEnd

ノ Expand table

Property Value

Description Actual end time of the activity.

DisplayName Actual End

IsValidForForm True

IsValidForRead True

LogicalName actualend

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ActualStart
ノ Expand table

Property Value

Description Actual start time of the activity.

DisplayName Actual Start

IsValidForForm True

IsValidForRead True

LogicalName actualstart

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime
Property Value

ImeMode Inactive

SourceTypeMask 0

BCC

ノ Expand table

Property Value

Description Blind Carbon-copy (bcc) recipients of the activity.

DisplayName BCC

IsValidForForm True

IsValidForRead True

LogicalName bcc

RequiredLevel None

Type PartyList

Targets account, contact, systemuser

CC
ノ Expand table

Property Value

Description Carbon-copy (cc) recipients of the activity.

DisplayName CC

IsValidForForm True

IsValidForRead True

LogicalName cc

RequiredLevel None

Type PartyList

Targets account, contact, systemuser

Community
ノ Expand table

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

DefaultFormValue -1

GlobalChoiceName socialprofile_community

Community Choices/Options

ノ Expand table

Value Label

0 Other

1 Facebook

2 Twitter

Customers

ノ Expand table

Property Value

Description Customer with which the activity is associated.

DisplayName Customers

IsValidForForm True

IsValidForRead True

LogicalName customers

RequiredLevel None

Type PartyList
Property Value

Targets account, contact

DeliveryPriorityCode

ノ Expand table

Property Value

Description Priority of delivery of the activity to the email server.

DisplayName Delivery Priority

IsValidForForm True

IsValidForRead True

LogicalName deliveryprioritycode

RequiredLevel None

Type Picklist

DefaultFormValue 1

GlobalChoiceName activitypointer_deliveryprioritycode

DeliveryPriorityCode Choices/Options

ノ Expand table

Value Label

0 Low

1 Normal

2 High

Description

ノ Expand table

Property Value

Description Description of the activity.

DisplayName Description

IsValidForForm True
Property Value

IsValidForRead True

LogicalName description

RequiredLevel None

Type Memo

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 2000

ExchangeItemId

ノ Expand table

Property Value

Description The message id of activity which is returned from Exchange Server.

DisplayName Exchange Item ID

IsValidForForm False

IsValidForRead True

LogicalName exchangeitemid

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 200

ExchangeWebLink

ノ Expand table
Property Value

Description Shows the web link of Activity of type email.

DisplayName Exchange WebLink

IsValidForForm False

IsValidForRead True

LogicalName exchangeweblink

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 1250

From

ノ Expand table

Property Value

Description Person who the activity is from.

DisplayName From

IsValidForForm True

IsValidForRead True

LogicalName from

RequiredLevel None

Type PartyList

Targets account, contact, systemuser

ImportSequenceNumber

ノ Expand table

Property Value

Description Sequence number of the import that created this record.


Property Value

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

IsBilled

ノ Expand table

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

GlobalChoiceName mspcat_installactivity_isbilled

DefaultValue False

True Label Yes

False Label No

IsMapiPrivate

ノ Expand table

Property Value

Description For internal use only.

DisplayName Is Private
Property Value

IsValidForForm False

IsValidForRead True

LogicalName ismapiprivate

RequiredLevel None

Type Boolean

GlobalChoiceName mspcat_installactivity_ismapiprivate

DefaultValue False

True Label Yes

False Label No

IsWorkflowCreated

ノ Expand table

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

GlobalChoiceName mspcat_installactivity_isworkflowcreated

DefaultValue False

True Label Yes

False Label No

LastOnHoldTime

ノ Expand table

Property Value

Description Contains the date and time stamp of the last on hold time.
Property Value

DisplayName Last On Hold Time

IsValidForForm True

IsValidForRead True

LogicalName lastonholdtime

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

LeftVoiceMail

ノ Expand table

Property Value

Description Left the voice mail

DisplayName Left Voice Mail

IsValidForForm True

IsValidForRead True

LogicalName leftvoicemail

RequiredLevel None

Type Boolean

GlobalChoiceName mspcat_installactivity_leftvoicemail

DefaultValue False

True Label Yes

False Label No

mspcat_InstallStatusProgress

ノ Expand table
Property Value

Description Status code for the overall install pipeline.

DisplayName Install Status Progress

IsValidForForm True

IsValidForRead True

LogicalName mspcat_installstatusprogress

RequiredLevel None

Type Picklist

DefaultFormValue 526430000

GlobalChoiceName mspcat_installactivity_mspcat_installstatusprogress

mspcat_InstallStatusProgress Choices/Options

ノ Expand table

Value Label

526430000 Inprogress

526430001 Completed

526430002 Failed

OptionalAttendees

ノ Expand table

Property Value

Description List of optional attendees for the activity.

DisplayName Optional Attendees

IsValidForForm True

IsValidForRead True

LogicalName optionalattendees

RequiredLevel None

Type PartyList

Targets account, contact, knowledgearticle, queue, systemuser, unresolvedaddress


Organizer

ノ Expand table

Property Value

Description Person who organized the activity.

DisplayName Organizer

IsValidForForm True

IsValidForRead True

LogicalName organizer

RequiredLevel None

Type PartyList

Targets systemuser

OverriddenCreatedOn
ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

OwnerId
ノ Expand table

Property Value

Description Unique identifier of the user or team who owns the activity.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType

ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

Partners

ノ Expand table

Property Value

Description Outsource vendor with which activity is associated.

DisplayName Outsource Vendors

IsValidForForm True

IsValidForRead True

LogicalName partners
Property Value

RequiredLevel None

Type PartyList

Targets account, contact

PriorityCode

ノ Expand table

Property Value

Description Priority of the activity.

DisplayName Priority

IsValidForForm True

IsValidForRead True

LogicalName prioritycode

RequiredLevel None

Type Picklist

DefaultFormValue 1

GlobalChoiceName mspcat_installactivity_prioritycode

PriorityCode Choices/Options

ノ Expand table

Value Label

0 Low

1 Normal

2 High

ProcessId

ノ Expand table

Property Value

Description Unique identifier of the Process.


Property Value

DisplayName Process

IsValidForForm False

IsValidForRead True

LogicalName processid

RequiredLevel None

Type Uniqueidentifier

RegardingObjectId

ノ Expand table

Property Value

Description Unique identifier of the object with which the activity is associated.

DisplayName Regarding

IsValidForForm True

IsValidForRead True

LogicalName regardingobjectid

RequiredLevel None

Type Lookup

Targets account, adx_invitation, contact, interactionforemail, knowledgearticle, knowledgebaserecord,


mspcat_applications, mspcat_certificationrequest, mspcat_installhistory,
mspcat_packagelocales, mspcat_packages, mspcat_publisher, mspcat_templates,
mspp_adplacement, mspp_pollplacement, mspp_publishingstatetransitionrule, mspp_redirect,
mspp_shortcut, mspp_website

RegardingObjectTypeCode

ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True
Property Value

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

RequiredAttendees

ノ Expand table

Property Value

Description List of required attendees for the activity.

DisplayName Required Attendees

IsValidForForm True

IsValidForRead True

LogicalName requiredattendees

RequiredLevel None

Type PartyList

Targets account, contact, knowledgearticle, queue, systemuser, unresolvedaddress

Resources

ノ Expand table

Property Value

Description Users or facility/equipment that are required for the activity.

DisplayName Resources

IsValidForForm True

IsValidForRead True

LogicalName resources

RequiredLevel None

Type PartyList

Targets systemuser

ScheduledDurationMinutes
ノ Expand table

Property Value

Description Scheduled duration of the activity, specified in minutes.

DisplayName Scheduled Duration

IsValidForForm True

IsValidForRead True

LogicalName scheduleddurationminutes

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue 0

ScheduledEnd

ノ Expand table

Property Value

Description Scheduled end time of the activity.

DisplayName Due Date

IsValidForForm True

IsValidForRead True

LogicalName scheduledend

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ScheduledStart

ノ Expand table
Property Value

Description Scheduled start time of the activity.

DisplayName Start Date

IsValidForForm True

IsValidForRead True

LogicalName scheduledstart

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

SLAId

ノ Expand table

Property Value

Description Choose the service level agreement (SLA) that you want to apply to the case record.

DisplayName SLA

IsValidForForm True

IsValidForRead True

LogicalName slaid

RequiredLevel None

Type Lookup

Targets sla

SortDate

ノ Expand table

Property Value

Description Shows the date and time by which the activities are sorted.
Property Value

DisplayName Sort Date

IsValidForForm True

IsValidForRead True

LogicalName sortdate

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

StageId

ノ Expand table

Property Value

Description Unique identifier of the Stage.

DisplayName (Deprecated) Process Stage

IsValidForForm False

IsValidForRead True

LogicalName stageid

RequiredLevel None

Type Uniqueidentifier

StateCode

ノ Expand table

Property Value

Description Status of the activity.

DisplayName Activity Status

IsValidForForm True
Property Value

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue 0

GlobalChoiceName mspcat_installactivity_statecode

StateCode Choices/Options

ノ Expand table

Value Details

0 Label: Open
DefaultStatus: 1
InvariantName: Open

1 Label: Completed
DefaultStatus: 2
InvariantName: Completed

2 Label: Canceled
DefaultStatus: 3
InvariantName: Canceled

3 Label: Scheduled
DefaultStatus: 4
InvariantName: Scheduled

StatusCode

ノ Expand table

Property Value

Description Reason for the status of the activity.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None
Property Value

Type Status

DefaultFormValue -1

GlobalChoiceName mspcat_installactivity_statuscode

StatusCode Choices/Options

ノ Expand table

Value Details

1 Label: Open
State:0
TransitionData: None

2 Label: Completed
State:1
TransitionData: None

3 Label: Canceled
State:2
TransitionData: None

4 Label: Scheduled
State:3
TransitionData: None

Subject

ノ Expand table

Property Value

Description Subject associated with the activity.

DisplayName Subject

IsValidForForm True

IsValidForRead True

LogicalName subject

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text
Property Value

ImeMode Auto

IsLocalizable False

MaxLength 400

TimeZoneRuleVersionNumber

ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

To
ノ Expand table

Property Value

Description Person who is the receiver of the activity.

DisplayName To

IsValidForForm True

IsValidForRead True

LogicalName to

RequiredLevel None

Type PartyList

Targets account, contact, systemuser


TransactionCurrencyId

ノ Expand table

Property Value

Description Unique identifier of the currency associated with the activitypointer.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Type Lookup

Targets transactioncurrency

TraversedPath
ノ Expand table

Property Value

Description For internal use only.

DisplayName (Deprecated) Traversed Path

IsValidForForm False

IsValidForRead True

LogicalName traversedpath

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 1250

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by
SchemaName.

ActivityTypeCode
CreatedBy
CreatedOn
CreatedOnBehalfBy
DeliveryLastAttemptedOn
ExchangeRate
InstanceTypeCode
IsRegularActivity
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OnHoldTime
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
PostponeActivityProcessingUntil
SenderMailboxId
SentOn
SeriesId
SLAInvokedId
VersionNumber
ActivityTypeCode

ノ Expand table

Property Value

Description Type of activity.

DisplayName Activity Type

IsValidForForm False

IsValidForRead True

LogicalName activitytypecode

RequiredLevel SystemRequired

Type EntityName

CreatedBy
ノ Expand table

Property Value

Description Unique identifier of the user who created the activity.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn

ノ Expand table

Property Value

Description Date and time when the activity was created.

DisplayName Date Created

IsValidForForm True
Property Value

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy

ノ Expand table

Property Value

Description Unique identifier of the delegate user who created the activitypointer.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Type Lookup

Targets systemuser

DeliveryLastAttemptedOn

ノ Expand table

Property Value

Description Date and time when the delivery of the activity was last attempted.

DisplayName Date Delivery Last Attempted

IsValidForForm True

IsValidForRead True
Property Value

LogicalName deliverylastattemptedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ExchangeRate

ノ Expand table

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

RequiredLevel None

Type Decimal

ImeMode Disabled

MaxValue 100000000000

MinValue 1E-12

Precision 12

SourceTypeMask 0

InstanceTypeCode

ノ Expand table
Property Value

Description Type of instance of a recurring series.

DisplayName Recurring Instance Type

IsValidForForm False

IsValidForRead True

LogicalName instancetypecode

RequiredLevel SystemRequired

Type Picklist

DefaultFormValue 0

GlobalChoiceName mspcat_installactivity_instancetypecode

InstanceTypeCode Choices/Options

ノ Expand table

Value Label

0 Not Recurring

1 Recurring Master

2 Recurring Instance

3 Recurring Exception

4 Recurring Future Exception

IsRegularActivity

ノ Expand table

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
Property Value

GlobalChoiceName activitypointer_isregularactivity

DefaultValue True

True Label Yes

False Label No

ModifiedBy

ノ Expand table

Property Value

Description Unique identifier of user who last modified the activity.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn

ノ Expand table

Property Value

Description Date and time when activity was last modified.

DisplayName Last Updated

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal
Property Value

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy

ノ Expand table

Property Value

Description Unique identifier of the delegate user who last modified the activitypointer.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Type Lookup

Targets systemuser

OnHoldTime
ノ Expand table

Property Value

Description Shows how long, in minutes, that the record was on hold.

DisplayName On Hold Time (Minutes)

IsValidForForm True

IsValidForRead True

LogicalName onholdtime

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648
OwnerIdName

ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridname

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwnerIdYomiName
ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto
Property Value

IsLocalizable False

MaxLength 100

OwningBusinessUnit

ノ Expand table

Property Value

Description Unique identifier of the business unit that owns the activity.

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit

OwningTeam
ノ Expand table

Property Value

Description Unique identifier of the team that owns the activity.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier of the user that owns the activity.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser

PostponeActivityProcessingUntil

ノ Expand table

Property Value

Description For internal use only.

DisplayName Delay activity processing until

IsValidForForm False

IsValidForRead True

LogicalName postponeactivityprocessinguntil

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

SenderMailboxId

ノ Expand table
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

Type Lookup

Targets mailbox

SentOn

ノ Expand table

Property Value

Description Date and time when the activity was sent.

DisplayName Date Sent

IsValidForForm True

IsValidForRead True

LogicalName senton

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

SeriesId

ノ Expand table

Property Value

Description Uniqueidentifier specifying the id of recurring series of an instance.


Property Value

DisplayName Series Id

IsValidForForm False

IsValidForRead True

LogicalName seriesid

RequiredLevel None

Type Uniqueidentifier

SLAInvokedId

ノ Expand table

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

Type Lookup

Targets sla

VersionNumber

ノ Expand table

Property Value

Description Version number of the activity.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt
Property Value

MaxValue 9223372036854775807

MinValue -9223372036854775808

Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.

mspcat_applications_mspcat_InstallActivities
mspcat_certificationrequest_mspcat_InstallActivities
mspcat_installhistory_mspcat_InstallActivities
mspcat_packagelocales_mspcat_InstallActivities
mspcat_packages_mspcat_InstallActivities
mspcat_publisher_mspcat_InstallActivities

mspcat_applications_mspcat_InstallActivities
One-To-Many Relationship: mspcat_applications mspcat_applications_mspcat_InstallActivities

ノ Expand table

Property Value

ReferencedEntity mspcat_applications

ReferencedAttribute mspcat_applicationsid

ReferencingAttribute regardingobjectid

ReferencingEntityNavigationPropertyName regardingobjectid_mspcat_applications_mspcat_installactivity

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: Cascade
Delete: Cascade
Merge: NoCascade
Reparent: Cascade
RollupView: NoCascade
Share: Cascade
Unshare: Cascade

mspcat_certificationrequest_mspcat_InstallActivities
One-To-Many Relationship: mspcat_certificationrequest
mspcat_certificationrequest_mspcat_InstallActivities
ノ Expand table

Property Value

ReferencedEntity mspcat_certificationrequest

ReferencedAttribute mspcat_certificationrequestid

ReferencingAttribute regardingobjectid

ReferencingEntityNavigationPropertyName regardingobjectid_mspcat_certificationrequest_mspcat_installactivity

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: Cascade
Delete: Cascade
Merge: NoCascade
Reparent: Cascade
RollupView: NoCascade
Share: Cascade
Unshare: Cascade

mspcat_installhistory_mspcat_InstallActivities
One-To-Many Relationship: mspcat_installhistory mspcat_installhistory_mspcat_InstallActivities

ノ Expand table

Property Value

ReferencedEntity mspcat_installhistory

ReferencedAttribute mspcat_installhistoryid

ReferencingAttribute regardingobjectid

ReferencingEntityNavigationPropertyName regardingobjectid_mspcat_installhistory_mspcat_installactivity

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: Cascade
Delete: Cascade
Merge: NoCascade
Reparent: Cascade
RollupView: NoCascade
Share: Cascade
Unshare: Cascade

mspcat_packagelocales_mspcat_InstallActivities
One-To-Many Relationship: mspcat_packagelocales mspcat_packagelocales_mspcat_InstallActivities
ノ Expand table

Property Value

ReferencedEntity mspcat_packagelocales

ReferencedAttribute mspcat_packagelocalesid

ReferencingAttribute regardingobjectid

ReferencingEntityNavigationPropertyName regardingobjectid_mspcat_packagelocales_mspcat_installactivity

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: Cascade
Delete: Cascade
Merge: NoCascade
Reparent: Cascade
RollupView: NoCascade
Share: Cascade
Unshare: Cascade

mspcat_packages_mspcat_InstallActivities
One-To-Many Relationship: mspcat_packages mspcat_packages_mspcat_InstallActivities

ノ Expand table

Property Value

ReferencedEntity mspcat_packages

ReferencedAttribute mspcat_packagesid

ReferencingAttribute regardingobjectid

ReferencingEntityNavigationPropertyName regardingobjectid_mspcat_packages_mspcat_installactivity

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: Cascade
Delete: Cascade
Merge: NoCascade
Reparent: Cascade
RollupView: NoCascade
Share: Cascade
Unshare: Cascade

mspcat_publisher_mspcat_InstallActivities
One-To-Many Relationship: mspcat_publisher mspcat_publisher_mspcat_InstallActivities
ノ Expand table

Property Value

ReferencedEntity mspcat_publisher

ReferencedAttribute mspcat_publisherid

ReferencingAttribute regardingobjectid

ReferencingEntityNavigationPropertyName regardingobjectid_mspcat_publisher_mspcat_installactivity

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: Cascade
Delete: Cascade
Merge: NoCascade
Reparent: Cascade
RollupView: NoCascade
Share: Cascade
Unshare: Cascade

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Install History (mspcat_InstallHistory)
table/entity reference
Article • 11/06/2024

Contains record of installations and their status

Messages
The following table lists the messages for the Install History (mspcat_InstallHistory) table. Messages represent
operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_installhistories(mspcat_installhistoryid)
Update the ownerid property.

Create POST /mspcat_installhistories Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_installhistories(mspcat_installhistoryid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

Retrieve GET Retrieve records


Event: True /mspcat_installhistories(mspcat_installhistoryid)
See Retrieve

RetrieveMultiple GET /mspcat_installhistories Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest


Event: True

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True
Name Web API Operation SDK for .NET
Is Event?

SetState PATCH SetStateRequest


Event: True /mspcat_installhistories(mspcat_installhistoryid)
Update the statecode and statuscode
properties.

Update PATCH Update records


Event: True /mspcat_installhistories(mspcat_installhistoryid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_installhistories(mspcat_installhistoryid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Install History (mspcat_InstallHistory) table. Events are messages
that exist so that you can subscribe to them. Unless you added the event, you shouldn't invoke the message,
only subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Install History (mspcat_InstallHistory) table.

ノ Expand table

Property Value

DisplayName Install History

DisplayCollectionName Install Histories

SchemaName mspcat_InstallHistory

CollectionSchemaName mspcat_InstallHistories
Property Value

EntitySetName mspcat_installhistories

LogicalName mspcat_installhistory

LogicalCollectionName mspcat_installhistories

PrimaryIdAttribute mspcat_installhistoryid

PrimaryNameAttribute mspcat_deploymentname

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.

ImportSequenceNumber
mspcat_CatalogItem
mspcat_DeploymentName
mspcat_EnvironmentUrl
mspcat_InstallHistoryId
mspcat_OperationId
mspcat_OrganizationId
mspcat_Package
mspcat_Publisher
mspcat_RequestingUser
mspcat_Settings
mspcat_StatusMessage
mspcat_TemplateSuffixId
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber
ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False
Property Value

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_CatalogItem
ノ Expand table

Property Value

Description Catalog Item that this package was associated to

DisplayName Catalog Item

IsValidForForm True

IsValidForRead True

LogicalName mspcat_catalogitem

RequiredLevel ApplicationRequired

Type Lookup

Targets mspcat_applications

mspcat_DeploymentName
ノ Expand table

Property Value

Description Descriptive Name of the Install, Built from Application Name, package unique name , Instance ID

DisplayName Deployment Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_deploymentname

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text
Property Value

ImeMode Auto

IsLocalizable False

MaxLength 200

mspcat_EnvironmentUrl
ノ Expand table

Property Value

Description URL of the environment where this catalog item was installed

DisplayName Environment Url

IsValidForForm True

IsValidForRead True

LogicalName mspcat_environmenturl

RequiredLevel ApplicationRequired

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 500

mspcat_InstallHistoryId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Install History

IsValidForForm False

IsValidForRead True

LogicalName mspcat_installhistoryid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_OperationId
ノ Expand table

Property Value

Description Id used by the deployment system to track the install.

DisplayName Operation Id

IsValidForForm True

IsValidForRead True

LogicalName mspcat_operationid

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 40

mspcat_OrganizationId
ノ Expand table

Property Value

Description ID of the organization that this install was run against.

DisplayName Organization Id

IsValidForForm True

IsValidForRead True

LogicalName mspcat_organizationid

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 40

mspcat_Package
ノ Expand table

Property Value

Description Package Deployed

DisplayName Package

IsValidForForm True

IsValidForRead True

LogicalName mspcat_package

RequiredLevel ApplicationRequired

Type Lookup

Targets mspcat_packages

mspcat_Publisher
ノ Expand table

Property Value

Description Publisher who owns this Catalog Item

DisplayName Publisher

IsValidForForm True

IsValidForRead True

LogicalName mspcat_publisher

RequiredLevel ApplicationRequired

Type Lookup

Targets mspcat_publisher

mspcat_RequestingUser
ノ Expand table

Property Value

Description User that Requested the Install

DisplayName Requesting User

IsValidForForm True

IsValidForRead True

LogicalName mspcat_requestinguser

RequiredLevel None
Property Value

Type Lookup

Targets systemuser

mspcat_Settings
ノ Expand table

Property Value

Description Deployment Settings Included with this Install request.

DisplayName Settings

IsValidForForm True

IsValidForRead True

LogicalName mspcat_settings

RequiredLevel None

Type Memo

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 400000

mspcat_StatusMessage
ノ Expand table

Property Value

Description Status Message associated with this install

DisplayName Status Message

IsValidForForm True

IsValidForRead True

LogicalName mspcat_statusmessage

RequiredLevel None

Type Memo

Format Text

FormatName Text
Property Value

ImeMode Auto

IsLocalizable False

MaxLength 4000

mspcat_TemplateSuffixId
ノ Expand table

Property Value

Description This is the suffix id assigned to components created by the template deployment.

DisplayName Template Suffix Id

IsValidForForm True

IsValidForRead True

LogicalName mspcat_templatesuffixid

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 15

OverriddenCreatedOn
ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False
Property Value

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

OwnerId
ノ Expand table

Property Value

Description Owner Id

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType
ノ Expand table

Property Value

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

statecode
ノ Expand table
Property Value

Description Status of the Install History

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_installhistory_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 1
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Install History

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_installhistory_statuscode
statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Requested
State:0
TransitionData:
<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition
sourcestatusid="1" tostatusid="526430003" /><allowedtransition sourcestatusid="1"
tostatusid="526430002" /><allowedtransition sourcestatusid="1" tostatusid="2" /><allowedtransition
sourcestatusid="1" tostatusid="526430004" /><allowedtransition sourcestatusid="1"
tostatusid="526430001" /></allowedtransitions>

2 Label: Inactive
State:1
TransitionData: None

526430001 Label: Pending


State:0
TransitionData:
<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition
sourcestatusid="526430001" tostatusid="526430003" /><allowedtransition sourcestatusid="526430001"
tostatusid="526430004" /><allowedtransition sourcestatusid="526430001" tostatusid="526430002" />
<allowedtransition sourcestatusid="526430001" tostatusid="2" /></allowedtransitions>

526430002 Label: In Progress


State:0
TransitionData:
<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices"><allowedtransition
sourcestatusid="526430002" tostatusid="526430003" /><allowedtransition sourcestatusid="526430002"
tostatusid="526430004" /><allowedtransition sourcestatusid="526430002" tostatusid="2" />
</allowedtransitions>

526430003 Label: Completed


State:1
TransitionData: None

526430004 Label: Failed


State:1
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber
Property Value

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by
SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
mspcat_DeploymentLogFile
mspcat_DeploymentLogFile_Name
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber
CreatedBy
ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

Property Value

Description Unique identifier of the delegate user who created the record.
Property Value

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False
Property Value

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

mspcat_DeploymentLogFile
ノ Expand table

Property Value

Description Log file generated by the deployment operation

DisplayName Deployment Log File

IsValidForForm True

IsValidForRead True

LogicalName mspcat_deploymentlogfile

RequiredLevel None

Type File

MaxSizeInKB 56768

mspcat_DeploymentLogFile_Name
ノ Expand table
Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName mspcat_deploymentlogfile_name

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Disabled

IsLocalizable False

MaxLength 200

OwnerIdName
ノ Expand table

Property Value

Description Name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridname

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwnerIdYomiName
ノ Expand table
Property Value

Description Yomi name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwningBusinessUnit
ノ Expand table

Property Value

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit

OwningTeam
ノ Expand table

Property Value

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False
Property Value

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808
Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.

mspcat_mspcat_installhistory_CatalogItem_mspcat_
mspcat_mspcat_installhistory_Package_mspcat_pack
mspcat_mspcat_installhistory_Publisher_mspcat_pu

mspcat_mspcat_installhistory_CatalogItem_mspcat_
One-To-Many Relationship: mspcat_applications mspcat_mspcat_installhistory_CatalogItem_mspcat_

ノ Expand table

Property Value

ReferencedEntity mspcat_applications

ReferencedAttribute mspcat_applicationsid

ReferencingAttribute mspcat_catalogitem

ReferencingEntityNavigationPropertyName mspcat_CatalogItem

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

mspcat_mspcat_installhistory_Package_mspcat_pack
One-To-Many Relationship: mspcat_packages mspcat_mspcat_installhistory_Package_mspcat_pack

ノ Expand table

Property Value

ReferencedEntity mspcat_packages

ReferencedAttribute mspcat_packagesid

ReferencingAttribute mspcat_package

ReferencingEntityNavigationPropertyName mspcat_Package

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Property Value

Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

mspcat_mspcat_installhistory_Publisher_mspcat_pu
One-To-Many Relationship: mspcat_publisher mspcat_mspcat_installhistory_Publisher_mspcat_pu

ノ Expand table

Property Value

ReferencedEntity mspcat_publisher

ReferencedAttribute mspcat_publisherid

ReferencingAttribute mspcat_publisher

ReferencingEntityNavigationPropertyName mspcat_Publisher

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

One-to-Many relationships
These relationships are one-to-many. Listed by SchemaName.

mspcat_installhistory_mspcat_InstallActivities
Many-To-One Relationship: mspcat_installactivity mspcat_installhistory_mspcat_InstallActivities

ノ Expand table

Property Value

ReferencingEntity mspcat_installactivity

ReferencingAttribute regardingobjectid

ReferencedEntityNavigationPropertyName mspcat_installhistory_mspcat_InstallActivities

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: DoNotDisplay
Property Value

Group: Details
Label:
MenuId: null
Order:
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Package (mspcat_packages) table/entity
reference
Article • 11/06/2024

Deployment Assets for a Catalog Item.

Messages
The following table lists the messages for the Package (mspcat_packages) table. Messages represent
operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_packageses(mspcat_packagesid)
Update the ownerid property.

Create POST /mspcat_packageses Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_packageses(mspcat_packagesid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

Restore Restore Learn to use messages with the SDK for


Event: True .NET

Retrieve GET Retrieve records


Event: True /mspcat_packageses(mspcat_packagesid)
See Retrieve

RetrieveMultiple GET /mspcat_packageses Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest


Name Web API Operation SDK for .NET
Is Event?

Event: True

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True

SetState PATCH SetStateRequest


Event: True /mspcat_packageses(mspcat_packagesid)
Update the statecode and statuscode
properties.

Update PATCH Update records


Event: True /mspcat_packageses(mspcat_packagesid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_packageses(mspcat_packagesid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Package (mspcat_packages) table. Events are messages that
exist so that you can subscribe to them. Unless you added the event, you shouldn't invoke the message,
only subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Package (mspcat_packages) table.

ノ Expand table
Property Value

DisplayName Package

DisplayCollectionName Packages

SchemaName mspcat_packages

CollectionSchemaName mspcat_packageses

EntitySetName mspcat_packageses

LogicalName mspcat_packages

LogicalCollectionName mspcat_packageses

PrimaryIdAttribute mspcat_packagesid

PrimaryNameAttribute mspcat_name

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both).
Listed by SchemaName.

ImportSequenceNumber
mspcat_AllowPackagingCodeExecution
mspcat_applicationitemcrossreferance
mspcat_Available
mspcat_CrmMaxVersion
mspcat_CrmMinVersion
mspcat_CRMWorkingPackageDropPath
mspcat_DefaultPackageLocaleId
mspcat_EndDateUtc
mspcat_InstanceConfigurationUrl
mspcat_LastSyncDate
mspcat_LearnMoreUrl
mspcat_name
mspcat_PackageManifestFileName
mspcat_PackageManifestUri
mspcat_packagesId
mspcat_PackageUri
mspcat_ProviderName
mspcat_PushedDate
mspcat_RevisionOf
mspcat_StartDateUtc
mspcat_SupportedCountries
mspcat_TPSID
mspcat_UniqueName
mspcat_Version
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber

ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_AllowPackagingCodeExecution

ノ Expand table

Property Value

Description if this is set to true, this will allow a deployment package to execute code during
deployment.

DisplayName Allow Package Code Execution

IsValidForForm True

IsValidForRead True

LogicalName mspcat_allowpackagingcodeexecution

RequiredLevel Recommended

Type Boolean
Property Value

GlobalChoiceName mspcat_packages_mspcat_allowpackagingcodeexecution

DefaultValue True

True Label Yes

False Label No

mspcat_applicationitemcrossreferance
ノ Expand table

Property Value

Description Connects to the common catalog item record regardless of revision.

DisplayName Catalog Item Cross Referance

IsValidForForm True

IsValidForRead True

LogicalName mspcat_applicationitemcrossreferance

RequiredLevel None

Type Lookup

Targets mspcat_applicationreference

mspcat_Available
ノ Expand table

Property Value

Description

DisplayName Available

IsValidForForm True

IsValidForRead True

LogicalName mspcat_available

RequiredLevel None

Type Boolean

GlobalChoiceName mspcat_packages_mspcat_available

DefaultValue False

True Label Yes


Property Value

False Label No

mspcat_CrmMaxVersion
ノ Expand table

Property Value

Description

DisplayName CrmMaxVersion

IsValidForForm True

IsValidForRead True

LogicalName mspcat_crmmaxversion

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 25

mspcat_CrmMinVersion
ノ Expand table

Property Value

Description

DisplayName CrmMinVersion

IsValidForForm True

IsValidForRead True

LogicalName mspcat_crmminversion

RequiredLevel None

Type String

Format Text

FormatName Text
Property Value

ImeMode Auto

IsLocalizable False

MaxLength 25

mspcat_CRMWorkingPackageDropPath
ノ Expand table

Property Value

Description This is the location where the package file has been dropped for working

DisplayName CRM Working Package Drop Path

IsValidForForm True

IsValidForRead True

LogicalName mspcat_crmworkingpackagedroppath

RequiredLevel None

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 2000

mspcat_DefaultPackageLocaleId
ノ Expand table

Property Value

Description

DisplayName DefaultPackageLocaleId

IsValidForForm True

IsValidForRead True

LogicalName mspcat_defaultpackagelocaleid

RequiredLevel None

Type String
Property Value

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_EndDateUtc
ノ Expand table

Property Value

Description

DisplayName EndDateUtc

IsValidForForm True

IsValidForRead True

LogicalName mspcat_enddateutc

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior True

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Auto

SourceTypeMask 0

mspcat_InstanceConfigurationUrl
ノ Expand table

Property Value

Description

DisplayName InstanceConfigurationUrl

IsValidForForm True

IsValidForRead True

LogicalName mspcat_instanceconfigurationurl
Property Value

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 2500

mspcat_LastSyncDate
ノ Expand table

Property Value

Description

DisplayName Last Sync Date

IsValidForForm True

IsValidForRead True

LogicalName mspcat_lastsyncdate

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior True

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Auto

SourceTypeMask 0

mspcat_LearnMoreUrl
ノ Expand table

Property Value

Description

DisplayName LearnMoreUrl

IsValidForForm True
Property Value

IsValidForRead True

LogicalName mspcat_learnmoreurl

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 1024

mspcat_name
ノ Expand table

Property Value

Description The name of the custom entity.

DisplayName Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_name

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_PackageManifestFileName
ノ Expand table

Property Value

Description
Property Value

DisplayName Package Manifest File Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_packagemanifestfilename

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_PackageManifestUri
ノ Expand table

Property Value

Description URI to the package manifest.

DisplayName Package Manifest Uri

IsValidForForm True

IsValidForRead True

LogicalName mspcat_packagemanifesturi

RequiredLevel None

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_packagesId
ノ Expand table
Property Value

Description Unique identifier for entity instances

DisplayName Packages

IsValidForForm False

IsValidForRead True

LogicalName mspcat_packagesid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_PackageUri
ノ Expand table

Property Value

Description

DisplayName Package Uri

IsValidForForm True

IsValidForRead True

LogicalName mspcat_packageuri

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 1000

mspcat_ProviderName
ノ Expand table

Property Value

Description

DisplayName ProviderName

IsValidForForm True
Property Value

IsValidForRead True

LogicalName mspcat_providername

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 250

mspcat_PushedDate
ノ Expand table

Property Value

Description

DisplayName Pushed Date

IsValidForForm True

IsValidForRead True

LogicalName mspcat_pusheddate

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior True

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Auto

SourceTypeMask 0

mspcat_RevisionOf
ノ Expand table

Property Value

Description This field is populated when a new approval request contains a reference to an existing package
Property Value

version that has previously been made available

DisplayName Revision Of

IsValidForForm True

IsValidForRead True

LogicalName mspcat_revisionof

RequiredLevel None

Type Lookup

Targets mspcat_packages

mspcat_StartDateUtc

ノ Expand table

Property Value

Description

DisplayName StartDateUtc

IsValidForForm True

IsValidForRead True

LogicalName mspcat_startdateutc

RequiredLevel Recommended

Type DateTime

CanChangeDateTimeBehavior True

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Auto

SourceTypeMask 0

mspcat_SupportedCountries

ノ Expand table

Property Value

Description

DisplayName SupportedCountries
Property Value

IsValidForForm True

IsValidForRead True

LogicalName mspcat_supportedcountries

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 1024

mspcat_TPSID
ノ Expand table

Property Value

Description ID of the record in TPS

DisplayName TPS ID

IsValidForForm True

IsValidForRead True

LogicalName mspcat_tpsid

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 50

mspcat_UniqueName
ノ Expand table
Property Value

Description

DisplayName UniqueName

IsValidForForm True

IsValidForRead True

LogicalName mspcat_uniquename

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 150

mspcat_Version
ノ Expand table

Property Value

Description

DisplayName Version

IsValidForForm True

IsValidForRead True

LogicalName mspcat_version

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 25

OverriddenCreatedOn
ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

OwnerId

ノ Expand table

Property Value

Description Owner Id

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType

ノ Expand table

Property Value

Description Owner Id Type


Property Value

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

statecode
ノ Expand table

Property Value

Description Status of the Packages

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_packages_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 3
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Packages

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_packages_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Available
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

3 Label: Draft
State:0
TransitionData: None

526430000 Label: Pending Approval


State:0
TransitionData: None

526430001 Label: Rejected


State:1
TransitionData: None

526430002 Label: Published


State:0
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table
Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by
SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
mspcat_PackageFile
mspcat_PackageFile_Name
mspcat_PackageManifestFile
mspcat_PackageManifestFile_Name
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber

CreatedBy
ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False
Property Value

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy

ノ Expand table

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

Type Lookup

Targets systemuser

mspcat_PackageFile

ノ Expand table

Property Value

Description Package File to be installed.


Property Value

DisplayName Package File

IsValidForForm True

IsValidForRead True

LogicalName mspcat_packagefile

RequiredLevel Recommended

Type File

MaxSizeInKB 128000

mspcat_PackageFile_Name
ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName mspcat_packagefile_name

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Disabled

IsLocalizable False

MaxLength 200

mspcat_PackageManifestFile
ノ Expand table

Property Value

Description Manifest File from the package.

DisplayName Package Manifest File

IsValidForForm True
Property Value

IsValidForRead True

LogicalName mspcat_packagemanifestfile

RequiredLevel Recommended

Type File

MaxSizeInKB 128000

mspcat_PackageManifestFile_Name
ノ Expand table

Property Value

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName mspcat_packagemanifestfile_name

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Disabled

IsLocalizable False

MaxLength 200

OwnerIdName
ノ Expand table

Property Value

Description Name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridname
Property Value

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwnerIdYomiName
ノ Expand table

Property Value

Description Yomi name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwningBusinessUnit
ノ Expand table

Property Value

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm True
Property Value

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit

OwningTeam
ノ Expand table

Property Value

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser
VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.

mspcat_mspcat_packages_applicationitemcrossrefer
mspcat_mspcat_packages_RevisionOf_mspcat_package

mspcat_mspcat_packages_applicationitemcrossrefer
One-To-Many Relationship: mspcat_applicationreference
mspcat_mspcat_packages_applicationitemcrossrefer

ノ Expand table

Property Value

ReferencedEntity mspcat_applicationreference

ReferencedAttribute mspcat_applicationreferenceid

ReferencingAttribute mspcat_applicationitemcrossreferance

ReferencingEntityNavigationPropertyName mspcat_applicationitemcrossreferance

IsHierarchical

CascadeConfiguration Archive: RemoveLink


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Property Value

RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

mspcat_mspcat_packages_RevisionOf_mspcat_package
One-To-Many Relationship: mspcat_packages mspcat_mspcat_packages_RevisionOf_mspcat_package

ノ Expand table

Property Value

ReferencedEntity mspcat_packages

ReferencedAttribute mspcat_packagesid

ReferencingAttribute mspcat_revisionof

ReferencingEntityNavigationPropertyName mspcat_RevisionOf

IsHierarchical

CascadeConfiguration Archive: RemoveLink


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

One-to-Many relationships
These relationships are one-to-many. Listed by SchemaName.

mspcat_mspcat_applications_PackageAsset_mspcat_p
mspcat_mspcat_installhistory_Package_mspcat_pack
mspcat_mspcat_packages_mspcat_packagelocales_PackageId
mspcat_mspcat_packages_RevisionOf_mspcat_package
mspcat_mspcat_packagesolutions_Package_mspcat_pa
mspcat_packages_mspcat_InstallActivities

mspcat_mspcat_applications_PackageAsset_mspcat_p
Many-To-One Relationship: mspcat_applications mspcat_mspcat_applications_PackageAsset_mspcat_p

ノ Expand table
Property Value

ReferencingEntity mspcat_applications

ReferencingAttribute mspcat_packageasset

ReferencedEntityNavigationPropertyName mspcat_mspcat_applications_PackageAsset_mspcat_p

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_mspcat_installhistory_Package_mspcat_pack
Many-To-One Relationship: mspcat_installhistory mspcat_mspcat_installhistory_Package_mspcat_pack

ノ Expand table

Property Value

ReferencingEntity mspcat_installhistory

ReferencingAttribute mspcat_package

ReferencedEntityNavigationPropertyName mspcat_mspcat_installhistory_Package_mspcat_pack

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_mspcat_packages_mspcat_packagelocales_PackageId
Many-To-One Relationship: mspcat_packagelocales
mspcat_mspcat_packages_mspcat_packagelocales_PackageId

ノ Expand table

Property Value

ReferencingEntity mspcat_packagelocales
Property Value

ReferencingAttribute mspcat_packageid

ReferencedEntityNavigationPropertyName mspcat_mspcat_packages_mspcat_packagelocales_PackageId

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_mspcat_packages_RevisionOf_mspcat_package
Many-To-One Relationship: mspcat_packages mspcat_mspcat_packages_RevisionOf_mspcat_package

ノ Expand table

Property Value

ReferencingEntity mspcat_packages

ReferencingAttribute mspcat_revisionof

ReferencedEntityNavigationPropertyName mspcat_mspcat_packages_RevisionOf_mspcat_package

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_mspcat_packagesolutions_Package_mspcat_pa
Many-To-One Relationship: mspcat_packagesolutions
mspcat_mspcat_packagesolutions_Package_mspcat_pa

ノ Expand table

Property Value

ReferencingEntity mspcat_packagesolutions

ReferencingAttribute mspcat_package
Property Value

ReferencedEntityNavigationPropertyName mspcat_mspcat_packagesolutions_Package_mspcat_pa

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_packages_mspcat_InstallActivities
Many-To-One Relationship: mspcat_installactivity mspcat_packages_mspcat_InstallActivities

ノ Expand table

Property Value

ReferencingEntity mspcat_installactivity

ReferencingAttribute regardingobjectid

ReferencedEntityNavigationPropertyName mspcat_packages_mspcat_InstallActivities

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: DoNotDisplay
Group: Details
Label:
MenuId: null
Order:
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

Many-to-Many relationships
These relationships are many-to-many. Listed by SchemaName.

mspcat_attachedpackages
mspcat_mspcat_packages_mspcat_applications

mspcat_attachedpackages
See mspcat_certificationrequest mspcat_attachedpackages Many-To-Many Relationship

ノ Expand table
Property Value

IntersectEntityName mspcat_certreq_package_association

IsCustomizable True

SchemaName mspcat_attachedpackages

IntersectAttribute mspcat_packagesid

NavigationPropertyName mspcat_attachedpackages

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseLabel
Group: Details
Label: Attached packages
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_mspcat_packages_mspcat_applications
See mspcat_applications mspcat_mspcat_packages_mspcat_applications Many-To-Many Relationship

ノ Expand table

Property Value

IntersectEntityName mspcat_mspcat_packages_mspcat_applications

IsCustomizable True

SchemaName mspcat_mspcat_packages_mspcat_applications

IntersectAttribute mspcat_packagesid

NavigationPropertyName mspcat_mspcat_packages_mspcat_applications

AssociatedMenuConfiguration AvailableOffline: True


Behavior: DoNotDisplay
Group: Details
Label:
MenuId: null
Order:
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

See also
Dataverse table/entity reference
Dataverse Web API Reference
Feedback
Was this page helpful?  Yes  No

Provide product feedback


Package Locales (mspcat_packagelocales)
table/entity reference
Article • 11/06/2024

Messages
The following table lists the messages for the Package Locales (mspcat_packagelocales) table. Messages represent
operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_packagelocaleses(mspcat_packagelocalesid)
Update the ownerid property.

Create POST /mspcat_packagelocaleses Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_packagelocaleses(mspcat_packagelocalesid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

Retrieve GET Retrieve records


Event: True /mspcat_packagelocaleses(mspcat_packagelocalesid)
See Retrieve

RetrieveMultiple GET /mspcat_packagelocaleses Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest


Event: True

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True

SetState PATCH SetStateRequest


Event: True /mspcat_packagelocaleses(mspcat_packagelocalesid)
Update the statecode and statuscode properties.
Name Web API Operation SDK for .NET
Is Event?

Update PATCH Update records


Event: True /mspcat_packagelocaleses(mspcat_packagelocalesid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_packagelocaleses(mspcat_packagelocalesid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Package Locales (mspcat_packagelocales) table. Events are messages
that exist so that you can subscribe to them. Unless you added the event, you shouldn't invoke the message, only
subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Package Locales (mspcat_packagelocales) table.

ノ Expand table

Property Value

DisplayName Package Locales

DisplayCollectionName Package Locales

SchemaName mspcat_packagelocales

CollectionSchemaName mspcat_packagelocaleses

EntitySetName mspcat_packagelocaleses

LogicalName mspcat_packagelocales

LogicalCollectionName mspcat_packagelocaleses
Property Value

PrimaryIdAttribute mspcat_packagelocalesid

PrimaryNameAttribute mspcat_name

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.

ImportSequenceNumber
mspcat_Description
mspcat_Lcid
mspcat_name
mspcat_PackageId
mspcat_packagelocalesId
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber
ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_Description
ノ Expand table
Property Value

Description

DisplayName Description

IsValidForForm True

IsValidForRead True

LogicalName mspcat_description

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 4000

mspcat_Lcid
ノ Expand table

Property Value

Description

DisplayName Locale Identifier (LCID)

IsValidForForm True

IsValidForRead True

LogicalName mspcat_lcid

RequiredLevel ApplicationRequired

Type Integer

MaxValue 2147483647

MinValue 0

mspcat_name
ノ Expand table

Property Value

Description Localized for this value

DisplayName Localized Name

IsValidForForm True

IsValidForRead True
Property Value

LogicalName mspcat_name

RequiredLevel ApplicationRequired

Type String

Format TextArea

FormatName TextArea

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_PackageId
ノ Expand table

Property Value

Description

DisplayName PackageId

IsValidForForm True

IsValidForRead True

LogicalName mspcat_packageid

RequiredLevel ApplicationRequired

Type Lookup

Targets mspcat_packages

mspcat_packagelocalesId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName PackageLocales

IsValidForForm False

IsValidForRead True

LogicalName mspcat_packagelocalesid

RequiredLevel SystemRequired

Type Uniqueidentifier

OverriddenCreatedOn
ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

OwnerId
ノ Expand table

Property Value

Description Owner Id

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType
ノ Expand table

Property Value

Description Owner Id Type

DisplayName

IsValidForForm False
Property Value

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

statecode
ノ Expand table

Property Value

Description Status of the PackageLocales

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_packagelocales_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 1
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the PackageLocales

DisplayName Status Reason

IsValidForForm True
Property Value

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_packagelocales_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode
ノ Expand table

Property Value

Description Time zone code that was in use when the record was created.
Property Value

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber

CreatedBy
ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True
Property Value

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy
ノ Expand table

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

Type Lookup
Property Value

Targets systemuser

OwnerIdName
ノ Expand table

Property Value

Description Name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridname

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwnerIdYomiName
ノ Expand table

Property Value

Description Yomi name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False
Property Value

MaxLength 100

OwningBusinessUnit
ノ Expand table

Property Value

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit

OwningTeam
ノ Expand table

Property Value

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False
Property Value

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.

mspcat_mspcat_packages_mspcat_packagelocales_PackageId
One-To-Many Relationship: mspcat_packages mspcat_mspcat_packages_mspcat_packagelocales_PackageId

ノ Expand table

Property Value

ReferencedEntity mspcat_packages

ReferencedAttribute mspcat_packagesid

ReferencingAttribute mspcat_packageid

ReferencingEntityNavigationPropertyName mspcat_PackageId

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: Cascade
Property Value

Delete: Cascade
Merge: NoCascade
Reparent: Cascade
RollupView: NoCascade
Share: Cascade
Unshare: Cascade

One-to-Many relationships
These relationships are one-to-many. Listed by SchemaName.

mspcat_packagelocales_mspcat_InstallActivities
Many-To-One Relationship: mspcat_installactivity mspcat_packagelocales_mspcat_InstallActivities

ノ Expand table

Property Value

ReferencingEntity mspcat_installactivity

ReferencingAttribute regardingobjectid

ReferencedEntityNavigationPropertyName mspcat_packagelocales_mspcat_InstallActivities

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: DoNotDisplay
Group: Details
Label:
MenuId: null
Order:
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Packaged Solution (mspcat_PackageSolutions)
table/entity reference
Article • 11/06/2024

Solutions that relate to packages

Messages
The following table lists the messages for the Packaged Solution (mspcat_PackageSolutions) table. Messages represent
operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_packagesolutionses(mspcat_packagesolutionsid)
Update the ownerid property.

Create POST /mspcat_packagesolutionses Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_packagesolutionses(mspcat_packagesolutionsid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

Restore Restore Learn to use messages with the SDK for


Event: True .NET

Retrieve GET Retrieve records


Event: True /mspcat_packagesolutionses(mspcat_packagesolutionsid)
See Retrieve

RetrieveMultiple GET /mspcat_packagesolutionses Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest


Event: True

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True

SetState PATCH SetStateRequest


Event: True /mspcat_packagesolutionses(mspcat_packagesolutionsid)
Name Web API Operation SDK for .NET
Is Event?

Update the statecode and statuscode properties.

Update PATCH Update records


Event: True /mspcat_packagesolutionses(mspcat_packagesolutionsid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_packagesolutionses(mspcat_packagesolutionsid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Packaged Solution (mspcat_PackageSolutions) table. Events are messages
that exist so that you can subscribe to them. Unless you added the event, you shouldn't invoke the message, only
subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Packaged Solution (mspcat_PackageSolutions) table.

ノ Expand table

Property Value

DisplayName Packaged Solution

DisplayCollectionName Packaged Solutions

SchemaName mspcat_PackageSolutions

CollectionSchemaName mspcat_PackageSolutionses

EntitySetName mspcat_packagesolutionses

LogicalName mspcat_packagesolutions

LogicalCollectionName mspcat_packagesolutionses

PrimaryIdAttribute mspcat_packagesolutionsid
Property Value

PrimaryNameAttribute mspcat_name

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.

ImportSequenceNumber
mspcat_DeploymentIndex
mspcat_Name
mspcat_Package
mspcat_PackageSolutionsId
mspcat_SolutionFileName
mspcat_UniqueName
mspcat_Version
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber
ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_DeploymentIndex
ノ Expand table
Property Value

Description Index of Solution During Deployment

DisplayName Deployment Index

IsValidForForm True

IsValidForRead True

LogicalName mspcat_deploymentindex

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_Name
ノ Expand table

Property Value

Description

DisplayName Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_name

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_Package
ノ Expand table

Property Value

Description Package that this solution is related to.

DisplayName Package

IsValidForForm True

IsValidForRead True
Property Value

LogicalName mspcat_package

RequiredLevel None

Type Lookup

Targets mspcat_packages

mspcat_PackageSolutionsId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName mspcat_packagesolutionsid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_SolutionFileName
ノ Expand table

Property Value

Description File Name of the Solution in the package file.

DisplayName Solution File Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_solutionfilename

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_UniqueName
ノ Expand table

Property Value

Description Unique Name of Solution

DisplayName Unique Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_uniquename

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_Version
ノ Expand table

Property Value

Description Solution Version number

DisplayName Version

IsValidForForm True

IsValidForRead True

LogicalName mspcat_version

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 20

OverriddenCreatedOn
ノ Expand table
Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

OwnerId
ノ Expand table

Property Value

Description Owner Id

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType
ノ Expand table

Property Value

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype
Property Value

RequiredLevel SystemRequired

Type EntityName

statecode
ノ Expand table

Property Value

Description Status of the Solution

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_packagesolutions_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 1
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Solution

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None
Property Value

Type Status

DefaultFormValue

GlobalChoiceName mspcat_packagesolutions_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode
Property Value

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber

CreatedBy
ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On
Property Value

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup
Property Value

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

OwnerIdName
ノ Expand table
Property Value

Description Name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridname

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwnerIdYomiName
ノ Expand table

Property Value

Description Yomi name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwningBusinessUnit
ノ Expand table

Property Value

Description Unique identifier for the business unit that owns the record
Property Value

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit

OwningTeam
ノ Expand table

Property Value

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.

mspcat_mspcat_packagesolutions_Package_mspcat_pa
One-To-Many Relationship: mspcat_packages mspcat_mspcat_packagesolutions_Package_mspcat_pa

ノ Expand table

Property Value

ReferencedEntity mspcat_packages

ReferencedAttribute mspcat_packagesid

ReferencingAttribute mspcat_package

ReferencingEntityNavigationPropertyName mspcat_Package

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: Cascade
Delete: Cascade
Merge: NoCascade
Reparent: Cascade
RollupView: NoCascade
Share: Cascade
Unshare: Cascade

One-to-Many relationships
These relationships are one-to-many. Listed by SchemaName.

mspcat_mspcat_packagedsolutioncomponents_Containi
Many-To-One Relationship: mspcat_packagedsolutioncomponents
mspcat_mspcat_packagedsolutioncomponents_Containi

ノ Expand table

Property Value

ReferencingEntity mspcat_packagedsolutioncomponents

ReferencingAttribute mspcat_containingsolution

ReferencedEntityNavigationPropertyName mspcat_mspcat_packagedsolutioncomponents_Containi

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Packaged Solution Components
(mspcat_packagedsolutioncomponents) table/entity
reference
Article • 11/06/2024

Component types that are in solutions stored in a package

Messages
The following table lists the messages for the Packaged Solution Components (mspcat_packagedsolutioncomponents) table. Messages
represent operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_packagedsolutioncomponentses(mspcat_packagedsolutioncomponentsid)
Update the ownerid property.

Create POST /mspcat_packagedsolutioncomponentses Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_packagedsolutioncomponentses(mspcat_packagedsolutioncomponentsid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

Retrieve GET Retrieve records


Event: True /mspcat_packagedsolutioncomponentses(mspcat_packagedsolutioncomponentsid)
See Retrieve

RetrieveMultiple GET /mspcat_packagedsolutioncomponentses Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest


Event: True

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True

SetState PATCH SetStateRequest


Event: True /mspcat_packagedsolutioncomponentses(mspcat_packagedsolutioncomponentsid)
Update the statecode and statuscode properties.

Update PATCH Update records


Event: True /mspcat_packagedsolutioncomponentses(mspcat_packagedsolutioncomponentsid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_packagedsolutioncomponentses(mspcat_packagedsolutioncomponentsid)
Name Web API Operation SDK for .NET
Is Event?

See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Packaged Solution Components (mspcat_packagedsolutioncomponents) table. Events are
messages that exist so that you can subscribe to them. Unless you added the event, you shouldn't invoke the message, only subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Packaged Solution Components (mspcat_packagedsolutioncomponents) table.

ノ Expand table

Property Value

DisplayName Packaged Solution Components

DisplayCollectionName Packaged Solution Components

SchemaName mspcat_packagedsolutioncomponents

CollectionSchemaName mspcat_packagedsolutioncomponentses

EntitySetName mspcat_packagedsolutioncomponentses

LogicalName mspcat_packagedsolutioncomponents

LogicalCollectionName mspcat_packagedsolutioncomponentses

PrimaryIdAttribute mspcat_packagedsolutioncomponentsid

PrimaryNameAttribute mspcat_name

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by SchemaName.

ImportSequenceNumber
mspcat_ContainingSolution
mspcat_Count
mspcat_Name
mspcat_packagedsolutioncomponentsId
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber
ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_ContainingSolution
ノ Expand table

Property Value

Description Solution that contains this component type

DisplayName Containing Solution

IsValidForForm True

IsValidForRead True

LogicalName mspcat_containingsolution

RequiredLevel ApplicationRequired

Type Lookup

Targets mspcat_packagesolutions

mspcat_Count
ノ Expand table

Property Value

Description Count of the component type in this solution.

DisplayName Count

IsValidForForm True

IsValidForRead True

LogicalName mspcat_count

RequiredLevel ApplicationRequired

Type Integer

MaxValue 2147483647
Property Value

MinValue -2147483648

mspcat_Name
ノ Expand table

Property Value

Description

DisplayName Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_name

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_packagedsolutioncomponentsId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Packaged Solution Components

IsValidForForm False

IsValidForRead True

LogicalName mspcat_packagedsolutioncomponentsid

RequiredLevel SystemRequired

Type Uniqueidentifier

OverriddenCreatedOn
ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime
Property Value

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

OwnerId
ノ Expand table

Property Value

Description Owner Id

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType
ノ Expand table

Property Value

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

statecode
ノ Expand table

Property Value

Description Status of the Packaged Solution Components

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State
Property Value

DefaultFormValue

GlobalChoiceName mspcat_packagedsolutioncomponents_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 1
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Packaged Solution Components

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_packagedsolutioncomponents_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False
Property Value

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber

CreatedBy
ノ Expand table

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

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True
Property Value

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

OwnerIdName
ノ Expand table

Property Value

Description Name of the owner

DisplayName
Property Value

IsValidForForm False

IsValidForRead True

LogicalName owneridname

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwnerIdYomiName
ノ Expand table

Property Value

Description Yomi name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwningBusinessUnit
ノ Expand table

Property Value

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit
OwningTeam
ノ Expand table

Property Value

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.
mspcat_mspcat_packagedsolutioncomponents_Containi
One-To-Many Relationship: mspcat_packagesolutions mspcat_mspcat_packagedsolutioncomponents_Containi

ノ Expand table

Property Value

ReferencedEntity mspcat_packagesolutions

ReferencedAttribute mspcat_packagesolutionsid

ReferencingAttribute mspcat_containingsolution

ReferencingEntityNavigationPropertyName mspcat_ContainingSolution

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: Cascade
Delete: Cascade
Merge: NoCascade
Reparent: Cascade
RollupView: NoCascade
Share: Cascade
Unshare: Cascade

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Policy (mspcat_sspolicy) table/entity
reference
Article • 11/06/2024

Smart Cert policy table

Messages
The following table lists the messages for the Policy (mspcat_sspolicy) table. Messages
represent operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Create POST /mspcat_sspolicies Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_sspolicies(mspcat_sspolicyid)
See Delete

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

Restore Restore Learn to use messages with


Event: True the SDK for .NET

Retrieve GET Retrieve records


Event: True /mspcat_sspolicies(mspcat_sspolicyid)
See Retrieve

RetrieveMultiple GET /mspcat_sspolicies Query data


Event: True See Query data

SetState PATCH SetStateRequest


Event: True /mspcat_sspolicies(mspcat_sspolicyid)
Update the statecode and
statuscode properties.
Name Web API Operation SDK for .NET
Is Event?

Update PATCH Update records


Event: True /mspcat_sspolicies(mspcat_sspolicyid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_sspolicies(mspcat_sspolicyid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Policy (mspcat_sspolicy) table. Events are
messages that exist so that you can subscribe to them. Unless you added the event, you
shouldn't invoke the message, only subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for


.NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for


.NET

Retain Retain Learn to use messages with the SDK for


.NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for


.NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for


.NET

Properties
The following table lists selected properties for the Policy (mspcat_sspolicy) table.
ノ Expand table

Property Value

DisplayName Policy

DisplayCollectionName Policies

SchemaName mspcat_sspolicy

CollectionSchemaName mspcat_sspolicies

EntitySetName mspcat_sspolicies

LogicalName mspcat_sspolicy

LogicalCollectionName mspcat_sspolicies

PrimaryIdAttribute mspcat_sspolicyid

PrimaryNameAttribute mspcat_code

TableType Standard

OwnershipType OrganizationOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate
(usually both). Listed by SchemaName.

ImportSequenceNumber
mspcat_Code
mspcat_ExternalRefID
mspcat_sspolicyId
mspcat_Title
OverriddenCreatedOn
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber

ノ Expand table
Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_Code

ノ Expand table

Property Value

Description Required name field

DisplayName Code

IsValidForForm True

IsValidForRead True

LogicalName mspcat_code

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100
mspcat_ExternalRefID

ノ Expand table

Property Value

Description

DisplayName External Ref ID

IsValidForForm True

IsValidForRead True

LogicalName mspcat_externalrefid

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 200

mspcat_sspolicyId

ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Policy

IsValidForForm False

IsValidForRead True

LogicalName mspcat_sspolicyid

RequiredLevel SystemRequired

Type Uniqueidentifier
mspcat_Title

ノ Expand table

Property Value

Description

DisplayName Title

IsValidForForm True

IsValidForRead True

LogicalName mspcat_title

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 200

OverriddenCreatedOn

ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime
Property Value

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

statecode

ノ Expand table

Property Value

Description Status of the Policy

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_sspolicy_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 1
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
Value Details

InvariantName: Inactive

statuscode

ノ Expand table

Property Value

Description Reason for the status of the Policy

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_sspolicy_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

TimeZoneRuleVersionNumber

ノ Expand table
Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode

ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate.
Listed by SchemaName.
CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OrganizationId
VersionNumber

CreatedBy

ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn

ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon
Property Value

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy

ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy

ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedOn

ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy

ノ Expand table
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

Type Lookup

Targets systemuser

OrganizationId

ノ Expand table

Property Value

Description Unique identifier for the organization

DisplayName Organization Id

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel None

Type Lookup

Targets organization

VersionNumber

ノ Expand table

Property Value

Description Version Number


Property Value

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

One-to-Many relationships
These relationships are one-to-many. Listed by SchemaName.

mspcat_CertificationRejectionAppliedPol
mspcat_ssPolicyTemplate_PolicyCode_msdy

mspcat_CertificationRejectionAppliedPol
Many-To-One Relationship: mspcat_certificationrejectionappliedpolicy
mspcat_CertificationRejectionAppliedPol

ノ Expand table

Property Value

ReferencingEntity mspcat_certificationrejectionappliedpolicy

ReferencingAttribute mspcat_policycode

ReferencedEntityNavigationPropertyName mspcat_CertificationRejectionAppliedPol

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
Property Value

QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

mspcat_ssPolicyTemplate_PolicyCode_msdy
Many-To-One Relationship: mspcat_sspolicytemplate
mspcat_ssPolicyTemplate_PolicyCode_msdy

ノ Expand table

Property Value

ReferencingEntity mspcat_sspolicytemplate

ReferencingAttribute mspcat_policycode

ReferencedEntityNavigationPropertyName mspcat_ssPolicyTemplate_PolicyCode_msdy

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Policy Template
(mspcat_ssPolicyTemplate) table/entity
reference
Article • 11/06/2024

Messages
The following table lists the messages for the Policy Template (mspcat_ssPolicyTemplate) table.
Messages represent operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Create POST /mspcat_sspolicytemplates Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_sspolicytemplates(mspcat_sspolicytemplateid)
See Delete

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

Restore Restore Learn to use messages with


Event: True the SDK for .NET

Retrieve GET Retrieve records


Event: True /mspcat_sspolicytemplates(mspcat_sspolicytemplateid)
See Retrieve

RetrieveMultiple GET /mspcat_sspolicytemplates Query data


Event: True See Query data

SetState PATCH SetStateRequest


Event: True /mspcat_sspolicytemplates(mspcat_sspolicytemplateid)
Update the statecode and statuscode properties.

Update PATCH Update records


Event: True /mspcat_sspolicytemplates(mspcat_sspolicytemplateid)
See Update
Name Web API Operation SDK for .NET
Is Event?

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_sspolicytemplates(mspcat_sspolicytemplateid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Policy Template (mspcat_ssPolicyTemplate) table.
Events are messages that exist so that you can subscribe to them. Unless you added the event,
you shouldn't invoke the message, only subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Policy Template (mspcat_ssPolicyTemplate)
table.

ノ Expand table

Property Value

DisplayName Policy Template

DisplayCollectionName Policy Templates

SchemaName mspcat_ssPolicyTemplate
Property Value

CollectionSchemaName mspcat_ssPolicyTemplates

EntitySetName mspcat_sspolicytemplates

LogicalName mspcat_sspolicytemplate

LogicalCollectionName mspcat_sspolicytemplates

PrimaryIdAttribute mspcat_sspolicytemplateid

PrimaryNameAttribute mspcat_title

TableType Standard

OwnershipType OrganizationOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually
both). Listed by SchemaName.

ImportSequenceNumber
mspcat_ExternalRefID
mspcat_PolicyCode
mspcat_ssPolicyTemplateId
mspcat_TemplateText
mspcat_Title
OverriddenCreatedOn
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber

ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True
Property Value

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_ExternalRefID

ノ Expand table

Property Value

Description

DisplayName External Ref ID

IsValidForForm True

IsValidForRead True

LogicalName mspcat_externalrefid

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 200

mspcat_PolicyCode

ノ Expand table

Property Value

Description

DisplayName Policy Code


Property Value

IsValidForForm True

IsValidForRead True

LogicalName mspcat_policycode

RequiredLevel ApplicationRequired

Type Lookup

Targets mspcat_sspolicy

mspcat_ssPolicyTemplateId

ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Policy Template

IsValidForForm False

IsValidForRead True

LogicalName mspcat_sspolicytemplateid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_TemplateText

ノ Expand table

Property Value

Description

DisplayName Template Text

IsValidForForm True

IsValidForRead True

LogicalName mspcat_templatetext

RequiredLevel ApplicationRequired
Property Value

Type Memo

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 2000

mspcat_Title

ノ Expand table

Property Value

Description Required name field

DisplayName Title

IsValidForForm True

IsValidForRead True

LogicalName mspcat_title

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OverriddenCreatedOn

ノ Expand table

Property Value

Description Date and time that the record was migrated.


Property Value

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

statecode

ノ Expand table

Property Value

Description Status of the Policy Template

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_sspolicytemplate_statecode

statecode Choices/Options

ノ Expand table
Value Details

0 Label: Active
DefaultStatus: 1
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode

ノ Expand table

Property Value

Description Reason for the status of the Policy Template

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_sspolicytemplate_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode

ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed
by SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OrganizationId
VersionNumber

CreatedBy

ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn

ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime
Property Value

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy

ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy

ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None
Property Value

Type Lookup

Targets systemuser

ModifiedOn

ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy

ノ Expand table

Property Value

Description Unique identifier of the delegate user who modified the record.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby
Property Value

RequiredLevel None

Type Lookup

Targets systemuser

OrganizationId

ノ Expand table

Property Value

Description Unique identifier for the organization

DisplayName Organization Id

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel None

Type Lookup

Targets organization

VersionNumber

ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807
Property Value

MinValue -9223372036854775808

Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.

mspcat_ssPolicyTemplate_PolicyCode_msdy
One-To-Many Relationship: mspcat_sspolicy mspcat_ssPolicyTemplate_PolicyCode_msdy

ノ Expand table

Property Value

ReferencedEntity mspcat_sspolicy

ReferencedAttribute mspcat_sspolicyid

ReferencingAttribute mspcat_policycode

ReferencingEntityNavigationPropertyName mspcat_PolicyCode

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

One-to-Many relationships
These relationships are one-to-many. Listed by SchemaName.

cr9d4_mspcat_CertificationRejectionAppliedPol
Many-To-One Relationship: mspcat_certificationrejectionappliedpolicy
cr9d4_mspcat_CertificationRejectionAppliedPol

ノ Expand table
Property Value

ReferencingEntity mspcat_certificationrejectionappliedpolicy

ReferencingAttribute cr9d4_policyrejectionreason

ReferencedEntityNavigationPropertyName cr9d4_mspcat_CertificationRejectionAppliedPol

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Publisher Identity (mspcat_publisheridentity)
table/entity reference
Article • 11/06/2024

Messages
The following table lists the messages for the Publisher Identity (mspcat_publisheridentity) table. Messages represent
operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_publisheridentities(mspcat_publisheridentityid)
Update the ownerid property.

Create POST /mspcat_publisheridentities Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_publisheridentities(mspcat_publisheridentityid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

Restore Restore Learn to use messages with the SDK for


Event: True .NET

Retrieve GET Retrieve records


Event: True /mspcat_publisheridentities(mspcat_publisheridentityid)
See Retrieve

RetrieveMultiple GET /mspcat_publisheridentities Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest


Event: True

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True

SetState PATCH SetStateRequest


Event: True /mspcat_publisheridentities(mspcat_publisheridentityid)
Update the statecode and statuscode properties.
Name Web API Operation SDK for .NET
Is Event?

Update PATCH Update records


Event: True /mspcat_publisheridentities(mspcat_publisheridentityid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_publisheridentities(mspcat_publisheridentityid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Publisher Identity (mspcat_publisheridentity) table. Events are messages
that exist so that you can subscribe to them. Unless you added the event, you shouldn't invoke the message, only
subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Publisher Identity (mspcat_publisheridentity) table.

ノ Expand table

Property Value

DisplayName Publisher Identity

DisplayCollectionName Publisher Identities

SchemaName mspcat_publisheridentity

CollectionSchemaName mspcat_publisheridentities

EntitySetName mspcat_publisheridentities

LogicalName mspcat_publisheridentity

LogicalCollectionName mspcat_publisheridentities

PrimaryIdAttribute mspcat_publisheridentityid
Property Value

PrimaryNameAttribute mspcat_name

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.

ImportSequenceNumber
mspcat_AADApplicationId
mspcat_AccessLevel
mspcat_ApplyToGeo
mspcat_LastSyncDate
mspcat_name
mspcat_OriginatingPublisherIdentity
mspcat_Publisher
mspcat_publisheridentityId
mspcat_TenantId
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber
ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_AADApplicationId
ノ Expand table

Property Value

Description Azure Active Directory Application ID

DisplayName AAD Application Id

IsValidForForm True

IsValidForRead True

LogicalName mspcat_aadapplicationid

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 40

mspcat_AccessLevel
ノ Expand table

Property Value

Description

DisplayName Access Level

IsValidForForm True

IsValidForRead True

LogicalName mspcat_accesslevel

RequiredLevel ApplicationRequired

Type Picklist

DefaultFormValue 526430000

GlobalChoiceName mspcat_accesslevel

mspcat_AccessLevel Choices/Options

ノ Expand table

Value Label

526430000 None

526430001 Global

526430002 Partner
mspcat_ApplyToGeo
ノ Expand table

Property Value

Description If populated, indicates which geo to apply identity to. if not populated, it infers all geos.

DisplayName Apply To Geo

IsValidForForm True

IsValidForRead True

LogicalName mspcat_applytogeo

RequiredLevel None

Type Lookup

Targets mspcat_crmgeo

mspcat_LastSyncDate
ノ Expand table

Property Value

Description last time this field was synced with TPS

DisplayName Last Sync Date

IsValidForForm True

IsValidForRead True

LogicalName mspcat_lastsyncdate

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior True

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Auto

SourceTypeMask 0

mspcat_name
ノ Expand table

Property Value

Description Descriptive name of the identity

DisplayName Identity Name

IsValidForForm True
Property Value

IsValidForRead True

LogicalName mspcat_name

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 150

mspcat_OriginatingPublisherIdentity
ノ Expand table

Property Value

Description

DisplayName Originating Publisher Identity

IsValidForForm True

IsValidForRead True

LogicalName mspcat_originatingpublisheridentity

RequiredLevel None

Type Lookup

Targets mspcat_publisheridentity

mspcat_Publisher
ノ Expand table

Property Value

Description Publisher that owns this Identity

DisplayName Publisher

IsValidForForm True

IsValidForRead True

LogicalName mspcat_publisher

RequiredLevel ApplicationRequired

Type Lookup

Targets mspcat_publisher
mspcat_publisheridentityId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Publisher Identity

IsValidForForm False

IsValidForRead True

LogicalName mspcat_publisheridentityid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_TenantId
ノ Expand table

Property Value

Description Azure Tenant ID

DisplayName Tenant Id

IsValidForForm True

IsValidForRead True

LogicalName mspcat_tenantid

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 40

OverriddenCreatedOn
ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True
Property Value

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

OwnerId
ノ Expand table

Property Value

Description Owner Id

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType
ノ Expand table

Property Value

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

statecode
ノ Expand table

Property Value

Description Status of the Publisher Identity

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_publisheridentity_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 526430002
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Publisher Identity

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_publisheridentity_statuscode

statuscode Choices/Options
ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

526430000 Label: Pending Deployment


State:0
TransitionData: None

526430001 Label: Deployed in TPS


State:0
TransitionData: None

526430002 Label: Submitted


State:0
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode
Property Value

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber

CreatedBy
ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On
Property Value

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup
Property Value

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

OwnerIdName
ノ Expand table
Property Value

Description Name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridname

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwnerIdYomiName
ノ Expand table

Property Value

Description Yomi name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwningBusinessUnit
ノ Expand table

Property Value

Description Unique identifier for the business unit that owns the record
Property Value

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit

OwningTeam
ノ Expand table

Property Value

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.

mspcat_mspcat_publisher_mspcat_publisheridentity_Publisher
mspcat_publisheridentity_OriginatingPub

mspcat_mspcat_publisher_mspcat_publisheridentity_Publisher
One-To-Many Relationship: mspcat_publisher mspcat_mspcat_publisher_mspcat_publisheridentity_Publisher

ノ Expand table

Property Value

ReferencedEntity mspcat_publisher

ReferencedAttribute mspcat_publisherid

ReferencingAttribute mspcat_publisher

ReferencingEntityNavigationPropertyName mspcat_Publisher

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: Cascade
Delete: Cascade
Merge: NoCascade
Reparent: Cascade
RollupView: NoCascade
Share: Cascade
Unshare: Cascade

mspcat_publisheridentity_OriginatingPub
One-To-Many Relationship: mspcat_publisheridentity mspcat_publisheridentity_OriginatingPub
ノ Expand table

Property Value

ReferencedEntity mspcat_publisheridentity

ReferencedAttribute mspcat_publisheridentityid

ReferencingAttribute mspcat_originatingpublisheridentity

ReferencingEntityNavigationPropertyName mspcat_OriginatingPublisherIdentity

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

One-to-Many relationships
These relationships are one-to-many. Listed by SchemaName.

mspcat_publisheridentity_OriginatingPub
Many-To-One Relationship: mspcat_publisheridentity mspcat_publisheridentity_OriginatingPub

ノ Expand table

Property Value

ReferencingEntity mspcat_publisheridentity

ReferencingAttribute mspcat_originatingpublisheridentity

ReferencedEntityNavigationPropertyName mspcat_publisheridentity_OriginatingPub

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

See also
Dataverse table/entity reference
Dataverse Web API Reference
Feedback
Was this page helpful?  Yes  No

Provide product feedback


Publisher Users (mspcat_PublisherUsers)
table/entity reference
Article • 11/06/2024

Users that have access to the related Publisher

Messages
The following table lists the messages for the Publisher Users (mspcat_PublisherUsers) table. Messages represent
operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_publisheruserses(mspcat_publisherusersid)
Update the ownerid property.

Create POST /mspcat_publisheruserses Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_publisheruserses(mspcat_publisherusersid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

Restore Restore Learn to use messages with the SDK for


Event: True .NET

Retrieve GET Retrieve records


Event: True /mspcat_publisheruserses(mspcat_publisherusersid)
See Retrieve

RetrieveMultiple GET /mspcat_publisheruserses Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest


Event: True

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True
Name Web API Operation SDK for .NET
Is Event?

SetState PATCH SetStateRequest


Event: True /mspcat_publisheruserses(mspcat_publisherusersid)
Update the statecode and statuscode properties.

Update PATCH Update records


Event: True /mspcat_publisheruserses(mspcat_publisherusersid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_publisheruserses(mspcat_publisherusersid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Publisher Users (mspcat_PublisherUsers) table. Events are messages
that exist so that you can subscribe to them. Unless you added the event, you shouldn't invoke the message, only
subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Publisher Users (mspcat_PublisherUsers) table.

ノ Expand table

Property Value

DisplayName Publisher Users

DisplayCollectionName Publisher Users

SchemaName mspcat_PublisherUsers

CollectionSchemaName mspcat_PublisherUserses

EntitySetName mspcat_publisheruserses
Property Value

LogicalName mspcat_publisherusers

LogicalCollectionName mspcat_publisheruserses

PrimaryIdAttribute mspcat_publisherusersid

PrimaryNameAttribute mspcat_name

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.

ImportSequenceNumber
mspcat_Name
mspcat_Publisher
mspcat_PublisherUsersId
mspcat_team
mspcat_Type
mspcat_User
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber
ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648
mspcat_Name
ノ Expand table

Property Value

Description

DisplayName Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_name

RequiredLevel None

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 200

mspcat_Publisher
ノ Expand table

Property Value

Description Publisher that permissions are related to

DisplayName Publisher

IsValidForForm True

IsValidForRead True

LogicalName mspcat_publisher

RequiredLevel ApplicationRequired

Type Lookup

Targets mspcat_publisher

mspcat_PublisherUsersId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Publisher Users


Property Value

IsValidForForm False

IsValidForRead True

LogicalName mspcat_publisherusersid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_team
ノ Expand table

Property Value

Description Team that references an AAD group for authentication

DisplayName Team

IsValidForForm True

IsValidForRead True

LogicalName mspcat_team

RequiredLevel None

Type Lookup

Targets team

mspcat_Type
ノ Expand table

Property Value

Description Type of Publisher User, Can either a User or a Team.

DisplayName Type

IsValidForForm True

IsValidForRead True

LogicalName mspcat_type

RequiredLevel ApplicationRequired

Type Picklist

DefaultFormValue 526430000

GlobalChoiceName mspcat_publisherusers_mspcat_type

mspcat_Type Choices/Options
ノ Expand table

Value Label

526430000 User

526430001 Team

mspcat_User
ノ Expand table

Property Value

Description User ID Linked to this Publisher User Record

DisplayName User

IsValidForForm True

IsValidForRead True

LogicalName mspcat_user

RequiredLevel None

Type Lookup

Targets systemuser

OverriddenCreatedOn
ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0
OwnerId
ノ Expand table

Property Value

Description Owner Id

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType
ノ Expand table

Property Value

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

statecode
ノ Expand table

Property Value

Description Status of the Publisher Users

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State
Property Value

DefaultFormValue

GlobalChoiceName mspcat_publisherusers_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 1
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Publisher Users

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_publisherusers_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None
TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber

CreatedBy
ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime
Property Value

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

OwnerIdName
ノ Expand table

Property Value

Description Name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridname

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False
Property Value

MaxLength 100

OwnerIdYomiName
ノ Expand table

Property Value

Description Yomi name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwningBusinessUnit
ノ Expand table

Property Value

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit

OwningTeam
ノ Expand table
Property Value

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807
Property Value

MinValue -9223372036854775808

Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.

mspcat_mspcat_publisherusers_Publisher_mspcat_pu
One-To-Many Relationship: mspcat_publisher mspcat_mspcat_publisherusers_Publisher_mspcat_pu

ノ Expand table

Property Value

ReferencedEntity mspcat_publisher

ReferencedAttribute mspcat_publisherid

ReferencingAttribute mspcat_publisher

ReferencingEntityNavigationPropertyName mspcat_Publisher

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Rule set for PowerApps Checker
(mspcat_rulesetforpowerappschecker)
table/entity reference
Article • 11/06/2024

Messages
The following table lists the messages for the Rule set for PowerApps Checker
(mspcat_rulesetforpowerappschecker) table. Messages represent operations that can be performed on the table.
They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Create POST /mspcat_rulesetforpowerappscheckers Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_rulesetforpowerappscheckers(mspcat_rulesetforpowerappscheckerid)
See Delete

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

Restore Restore Learn to use messages with


Event: True the SDK for .NET

Retrieve GET Retrieve records


Event: True /mspcat_rulesetforpowerappscheckers(mspcat_rulesetforpowerappscheckerid)
See Retrieve

RetrieveMultiple GET /mspcat_rulesetforpowerappscheckers Query data


Event: True See Query data

SetState PATCH SetStateRequest


Event: True /mspcat_rulesetforpowerappscheckers(mspcat_rulesetforpowerappscheckerid)
Update the statecode and statuscode properties.

Update PATCH Update records


Event: True /mspcat_rulesetforpowerappscheckers(mspcat_rulesetforpowerappscheckerid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_rulesetforpowerappscheckers(mspcat_rulesetforpowerappscheckerid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False
Events
The following table lists the events for the Rule set for PowerApps Checker (mspcat_rulesetforpowerappschecker)
table. Events are messages that exist so that you can subscribe to them. Unless you added the event, you
shouldn't invoke the message, only subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Rule set for PowerApps Checker
(mspcat_rulesetforpowerappschecker) table.

ノ Expand table

Property Value

DisplayName Rule set for PowerApps Checker

DisplayCollectionName Rule sets for PowerApps Checker

SchemaName mspcat_rulesetforpowerappschecker

CollectionSchemaName mspcat_rulesetforpowerappscheckers

EntitySetName mspcat_rulesetforpowerappscheckers

LogicalName mspcat_rulesetforpowerappschecker

LogicalCollectionName mspcat_rulesetforpowerappscheckers

PrimaryIdAttribute mspcat_rulesetforpowerappscheckerid

PrimaryNameAttribute mspcat_name

TableType Standard

OwnershipType OrganizationOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.

ImportSequenceNumber
mspcat_name
mspcat_rulesetforpowerappscheckerId
mspcat_rulesetid
OverriddenCreatedOn
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber
ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_name
ノ Expand table

Property Value

Description The name of the custom entity.

DisplayName Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_name

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False
Property Value

MaxLength 100

mspcat_rulesetforpowerappscheckerId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Rule set for PowerApps Checker

IsValidForForm False

IsValidForRead True

LogicalName mspcat_rulesetforpowerappscheckerid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_rulesetid
ノ Expand table

Property Value

Description

DisplayName Rule-set ID in PowerApps Checker

IsValidForForm True

IsValidForRead True

LogicalName mspcat_rulesetid

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OverriddenCreatedOn
ノ Expand table
Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

statecode
ノ Expand table

Property Value

Description Status of the Rule set for PowerApps Checker

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_rulesetforpowerappschecker_statecode

statecode Choices/Options

ノ Expand table

Value Details

0 Label: Active
DefaultStatus: 1
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
Value Details

InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Rule set for PowerApps Checker

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_rulesetforpowerappschecker_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None
Property Value

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OrganizationId
VersionNumber

CreatedBy
ノ Expand table

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

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

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

Type Lookup
Property Value

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy
ノ Expand table
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

Type Lookup

Targets systemuser

OrganizationId
ノ Expand table

Property Value

Description Unique identifier for the organization

DisplayName Organization Id

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel None

Type Lookup

Targets organization

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807
Property Value

MinValue -9223372036854775808

One-to-Many relationships
These relationships are one-to-many. Listed by SchemaName.

mspcat_ruleset_policy_reln
Many-To-One Relationship: mspcat_staticanalysispolicy mspcat_ruleset_policy_reln

ノ Expand table

Property Value

ReferencingEntity mspcat_staticanalysispolicy

ReferencingAttribute mspcat_ruleset

ReferencedEntityNavigationPropertyName mspcat_ruleset_policy_reln

IsCustomizable True

AssociatedMenuConfiguration AvailableOffline: True


Behavior: UseCollectionName
Group: Details
Label:
MenuId: null
Order: 10000
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Static Analysis Policy
(mspcat_staticanalysispolicy) table/entity
reference
Article • 11/06/2024

Messages
The following table lists the messages for the Static Analysis Policy (mspcat_staticanalysispolicy)
table. Messages represent operations that can be performed on the table. They may also be
events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Create POST /mspcat_staticanalysispolicies Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_staticanalysispolicies(mspcat_staticanalysispolicyid)
See Delete

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

Restore Restore Learn to use messages with


Event: True the SDK for .NET

Retrieve GET Retrieve records


Event: True /mspcat_staticanalysispolicies(mspcat_staticanalysispolicyid)
See Retrieve

RetrieveMultiple GET /mspcat_staticanalysispolicies Query data


Event: True See Query data

SetState PATCH SetStateRequest


Event: True /mspcat_staticanalysispolicies(mspcat_staticanalysispolicyid)
Update the statecode and statuscode properties.

Update PATCH Update records


Event: True /mspcat_staticanalysispolicies(mspcat_staticanalysispolicyid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True
Name Web API Operation SDK for .NET
Is Event?

Upsert PATCH UpsertRequest


Event: False /mspcat_staticanalysispolicies(mspcat_staticanalysispolicyid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Static Analysis Policy (mspcat_staticanalysispolicy) table.
Events are messages that exist so that you can subscribe to them. Unless you added the event, you
shouldn't invoke the message, only subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Static Analysis Policy
(mspcat_staticanalysispolicy) table.

ノ Expand table

Property Value

DisplayName Static Analysis Policy

DisplayCollectionName Static Analysis Policies

SchemaName mspcat_staticanalysispolicy

CollectionSchemaName mspcat_staticanalysispolicies

EntitySetName mspcat_staticanalysispolicies

LogicalName mspcat_staticanalysispolicy
Property Value

LogicalCollectionName mspcat_staticanalysispolicies

PrimaryIdAttribute mspcat_staticanalysispolicyid

PrimaryNameAttribute mspcat_name

TableType Standard

OwnershipType OrganizationOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually
both). Listed by SchemaName.

ImportSequenceNumber
mspcat_mustsucceed
mspcat_name
mspcat_ruleset
mspcat_staticanalysispolicyId
OverriddenCreatedOn
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber

ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648
mspcat_mustsucceed

ノ Expand table

Property Value

Description

DisplayName Must Succeed

IsValidForForm True

IsValidForRead True

LogicalName mspcat_mustsucceed

RequiredLevel ApplicationRequired

Type Boolean

GlobalChoiceName mspcat_staticanalysispolicy_mspcat_mustsucceed

DefaultValue False

True Label Yes

False Label No

mspcat_name

ノ Expand table

Property Value

Description The name of the custom entity.

DisplayName Name

IsValidForForm True

IsValidForRead True

LogicalName mspcat_name

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False
Property Value

MaxLength 100

mspcat_ruleset

ノ Expand table

Property Value

Description

DisplayName Rule Set

IsValidForForm True

IsValidForRead True

LogicalName mspcat_ruleset

RequiredLevel Recommended

Type Lookup

Targets mspcat_rulesetforpowerappschecker

mspcat_staticanalysispolicyId

ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Static Analysis Policy

IsValidForForm False

IsValidForRead True

LogicalName mspcat_staticanalysispolicyid

RequiredLevel SystemRequired

Type Uniqueidentifier

OverriddenCreatedOn
ノ Expand table
Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

statecode

ノ Expand table

Property Value

Description Status of the Static Analysis Policy

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_staticanalysispolicy_statecode

statecode Choices/Options

ノ Expand table
Value Details

0 Label: Active
DefaultStatus: 1
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Static Analysis Policy

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_staticanalysispolicy_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode

ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by
SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OrganizationId
VersionNumber

CreatedBy
ノ Expand table

Property Value

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Type Lookup

Targets systemuser

CreatedOn

ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal
Property Value

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy

ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy

ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy

ノ Expand table

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

Type Lookup

Targets systemuser

OrganizationId
ノ Expand table
Property Value

Description Unique identifier for the organization

DisplayName Organization Id

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel None

Type Lookup

Targets organization

VersionNumber

ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.

mspcat_ruleset_policy_reln
One-To-Many Relationship: mspcat_rulesetforpowerappschecker mspcat_ruleset_policy_reln

ノ Expand table
Property Value

ReferencedEntity mspcat_rulesetforpowerappschecker

ReferencedAttribute mspcat_rulesetforpowerappscheckerid

ReferencingAttribute mspcat_ruleset

ReferencingEntityNavigationPropertyName mspcat_ruleset

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: NoCascade
Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
RollupView: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-to-Many relationships
These relationships are many-to-many. Listed by SchemaName.

mspcat_app_policy_reln
See mspcat_applications mspcat_app_policy_reln Many-To-Many Relationship

ノ Expand table

Property Value

IntersectEntityName mspcat_app_policy_reln_entity

IsCustomizable True

SchemaName mspcat_app_policy_reln

IntersectAttribute mspcat_staticanalysispolicyid

NavigationPropertyName mspcat_app_policy_reln

AssociatedMenuConfiguration AvailableOffline: True


Behavior: DoNotDisplay
Group: Details
Label:
MenuId: null
Order:
QueryApi: null
ViewId: 00000000-0000-0000-0000-000000000000
See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Status of PowerApps Checker package scan
(mspcat_powerappsScanStatus) table/entity
reference
Article • 11/06/2024

Messages
The following table lists the messages for the Status of PowerApps Checker package scan (mspcat_powerappsScanStatus)
table. Messages represent operations that can be performed on the table. They may also be events.

ノ Expand table

Name Web API Operation SDK for .NET


Is Event?

Assign PATCH AssignRequest


Event: True /mspcat_powerappsscanstatuses(mspcat_powerappsscanstatusid)
Update the ownerid property.

Create POST /mspcat_powerappsscanstatuses Create records


Event: True See Create

CreateMultiple CreateMultiple CreateMultipleRequest


Event: True

Delete DELETE Delete records


Event: True /mspcat_powerappsscanstatuses(mspcat_powerappsscanstatusid)
See Delete

GrantAccess GrantAccess GrantAccessRequest


Event: True

IsValidStateTransition IsValidStateTransition IsValidStateTransitionRequest


Event: False

ModifyAccess ModifyAccess ModifyAccessRequest


Event: True

Restore Restore Learn to use messages with the SDK for


Event: True .NET

Retrieve GET Retrieve records


Event: True /mspcat_powerappsscanstatuses(mspcat_powerappsscanstatusid)
See Retrieve

RetrieveMultiple GET /mspcat_powerappsscanstatuses Query data


Event: True See Query data

RetrievePrincipalAccess RetrievePrincipalAccess RetrievePrincipalAccessRequest


Event: True

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest


Event: True

RevokeAccess RevokeAccess RevokeAccessRequest


Event: True

SetState PATCH SetStateRequest


Event: True /mspcat_powerappsscanstatuses(mspcat_powerappsscanstatusid)
Update the statecode and statuscode properties.
Name Web API Operation SDK for .NET
Is Event?

Update PATCH Update records


Event: True /mspcat_powerappsscanstatuses(mspcat_powerappsscanstatusid)
See Update

UpdateMultiple UpdateMultiple UpdateMultipleRequest


Event: True

Upsert PATCH UpsertRequest


Event: False /mspcat_powerappsscanstatuses(mspcat_powerappsscanstatusid)
See Upsert a table row

UpsertMultiple UpsertMultiple UpsertMultipleRequest


Event: False

Events
The following table lists the events for the Status of PowerApps Checker package scan (mspcat_powerappsScanStatus) table.
Events are messages that exist so that you can subscribe to them. Unless you added the event, you shouldn't invoke the
message, only subscribe to it.

ノ Expand table

Name Web API Operation SDK for .NET

BulkRetain BulkRetain Learn to use messages with the SDK for .NET

PurgeRetainedContent PurgeRetainedContent Learn to use messages with the SDK for .NET

Retain Retain Learn to use messages with the SDK for .NET

RollbackRetain RollbackRetain Learn to use messages with the SDK for .NET

ValidateRetentionConfig ValidateRetentionConfig Learn to use messages with the SDK for .NET

Properties
The following table lists selected properties for the Status of PowerApps Checker package scan
(mspcat_powerappsScanStatus) table.

ノ Expand table

Property Value

DisplayName Status of PowerApps Checker package scan

DisplayCollectionName Status of PowerApps Checker scans

SchemaName mspcat_powerappsScanStatus

CollectionSchemaName mspcat_powerappsScanStatuses

EntitySetName mspcat_powerappsscanstatuses

LogicalName mspcat_powerappsscanstatus

LogicalCollectionName mspcat_powerappsscanstatuses

PrimaryIdAttribute mspcat_powerappsscanstatusid

PrimaryNameAttribute mspcat_name
Property Value

TableType Standard

OwnershipType UserOwned

Writable columns/attributes
These columns/attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by SchemaName.

ImportSequenceNumber
mspcat_name
mspcat_packageUrl
mspcat_parentrequestid
mspcat_powerappsScanStatusId
mspcat_resultSummary
mspcat_resultUrl
mspcat_rulesetid
mspcat_scanstatus
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode

ImportSequenceNumber
ノ Expand table

Property Value

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -2147483648

mspcat_name
ノ Expand table

Property Value

Description The name of the custom entity.

DisplayName Name
Property Value

IsValidForForm True

IsValidForRead True

LogicalName mspcat_name

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_packageUrl
ノ Expand table

Property Value

Description

DisplayName Package URL

IsValidForForm True

IsValidForRead True

LogicalName mspcat_packageurl

RequiredLevel ApplicationRequired

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 2200

mspcat_parentrequestid
ノ Expand table

Property Value

Description Unique identifier for Approval Request associated with Status of PowerApps Checker package scan.

DisplayName Parent Approval Request

IsValidForForm True

IsValidForRead True

LogicalName mspcat_parentrequestid
Property Value

RequiredLevel ApplicationRequired

Type Lookup

Targets mspcat_certificationrequest

mspcat_powerappsScanStatusId
ノ Expand table

Property Value

Description Unique identifier for entity instances

DisplayName Status of PowerApps Checker package scan

IsValidForForm False

IsValidForRead True

LogicalName mspcat_powerappsscanstatusid

RequiredLevel SystemRequired

Type Uniqueidentifier

mspcat_resultSummary
ノ Expand table

Property Value

Description

DisplayName Result Summary

IsValidForForm True

IsValidForRead True

LogicalName mspcat_resultsummary

RequiredLevel None

Type Memo

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 2000

mspcat_resultUrl
ノ Expand table

Property Value

Description
Property Value

DisplayName Result Details URL

IsValidForForm True

IsValidForRead True

LogicalName mspcat_resulturl

RequiredLevel None

Type String

Format Url

FormatName Url

ImeMode Auto

IsLocalizable False

MaxLength 2200

mspcat_rulesetid
ノ Expand table

Property Value

Description

DisplayName Rule Set to Execute

IsValidForForm True

IsValidForRead True

LogicalName mspcat_rulesetid

RequiredLevel ApplicationRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

mspcat_scanstatus
ノ Expand table

Property Value

Description

DisplayName Scan Status

IsValidForForm True

IsValidForRead True
Property Value

LogicalName mspcat_scanstatus

RequiredLevel ApplicationRequired

Type Picklist

DefaultFormValue 526430000

GlobalChoiceName mspcat_powerappsscanstatus_mspcat_scanstatus

mspcat_scanstatus Choices/Options

ノ Expand table

Value Label

526430000 Required

526430001 InProgress

526430002 Success

526430003 Completed with error

526430004 InternalError

526430005 Not Required

OverriddenCreatedOn
ノ Expand table

Property Value

Description Date and time that the record was migrated.

DisplayName Record Created On

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateOnly

ImeMode Inactive

SourceTypeMask 0

OwnerId
ノ Expand table
Property Value

Description Owner Id

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Type Owner

Targets systemuser, team

OwnerIdType
ノ Expand table

Property Value

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

statecode
ノ Expand table

Property Value

Description Status of the Status of PowerApps Checker package scan

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

DefaultFormValue

GlobalChoiceName mspcat_powerappsscanstatus_statecode

statecode Choices/Options

ノ Expand table
Value Details

0 Label: Active
DefaultStatus: 1
InvariantName: Active

1 Label: Inactive
DefaultStatus: 2
InvariantName: Inactive

statuscode
ノ Expand table

Property Value

Description Reason for the status of the Status of PowerApps Checker package scan

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

DefaultFormValue

GlobalChoiceName mspcat_powerappsscanstatus_statuscode

statuscode Choices/Options

ノ Expand table

Value Details

1 Label: Active
State:0
TransitionData: None

2 Label: Inactive
State:1
TransitionData: None

TimeZoneRuleVersionNumber
ノ Expand table

Property Value

Description For internal use only.

DisplayName Time Zone Rule Version Number

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber
Property Value

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

UTCConversionTimeZoneCode
ノ Expand table

Property Value

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

DisplayName UTC Conversion Time Zone Code

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

RequiredLevel None

Type Integer

MaxValue 2147483647

MinValue -1

Read-only columns/attributes
These columns/attributes return false for both IsValidForCreate and IsValidForUpdate. Listed by SchemaName.

CreatedBy
CreatedOn
CreatedOnBehalfBy
ModifiedBy
ModifiedOn
ModifiedOnBehalfBy
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber

CreatedBy
ノ Expand table

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

Type Lookup

Targets systemuser

CreatedOn
ノ Expand table

Property Value

Description Date and time when the record was created.

DisplayName Created On

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

CreatedOnBehalfBy
ノ Expand table

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

Type Lookup

Targets systemuser

ModifiedBy
ノ Expand table

Property Value

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Type Lookup

Targets systemuser

ModifiedOn
ノ Expand table

Property Value

Description Date and time when the record was modified.

DisplayName Modified On

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

CanChangeDateTimeBehavior False

DateTimeBehavior UserLocal

Format DateAndTime

ImeMode Inactive

SourceTypeMask 0

ModifiedOnBehalfBy
ノ Expand table

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
Property Value

Type Lookup

Targets systemuser

OwnerIdName
ノ Expand table

Property Value

Description Name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridname

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwnerIdYomiName
ノ Expand table

Property Value

Description Yomi name of the owner

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

RequiredLevel SystemRequired

Type String

Format Text

FormatName Text

ImeMode Auto

IsLocalizable False

MaxLength 100

OwningBusinessUnit
ノ Expand table

Property Value

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Type Lookup

Targets businessunit

OwningTeam
ノ Expand table

Property Value

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Type Lookup

Targets team

OwningUser
ノ Expand table

Property Value

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Type Lookup

Targets systemuser

VersionNumber
ノ Expand table

Property Value

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

RequiredLevel None

Type BigInt

MaxValue 9223372036854775807

MinValue -9223372036854775808

Many-to-One relationships
These relationships are many-to-one. Listed by SchemaName.

mspcat_certreq_analysis_status_reln
One-To-Many Relationship: mspcat_certificationrequest mspcat_certreq_analysis_status_reln

ノ Expand table

Property Value

ReferencedEntity mspcat_certificationrequest

ReferencedAttribute mspcat_certificationrequestid

ReferencingAttribute mspcat_parentrequestid

ReferencingEntityNavigationPropertyName mspcat_parentrequestid

IsHierarchical

CascadeConfiguration Archive: NoCascade


Assign: Cascade
Delete: Cascade
Merge: NoCascade
Reparent: Cascade
RollupView: NoCascade
Share: Cascade
Unshare: Cascade

See also
Dataverse table/entity reference
Dataverse Web API Reference

Feedback
Was this page helpful?  Yes  No
Provide product feedback
Unified developer experience for
finance and operations apps
Article • 06/21/2024

The unified developer experience consolidates the disparate developer tools and
environments across finance and operations apps and Power Platform to reduce friction
and simplify working across these apps. Finance and operations apps provide a rich
ecosystem for professional developers by using a metadata and code-based
development environment for mission critical scenarios. Power Platform brings the
ability to author solutions quickly and seamlessly using low-code development
paradigms and uses Microsoft Dataverse as the relational data store. Power Platform
also adds the ability to build and deploy your solutions using a continuous integration
and deployment (CI/CD) pipeline.

Typical scenario
Consider a typical scenario where a developer would create an app for capturing orders
in Microsoft Power Apps and persisting the gathered data in Dataverse. With the data
synchronization engines mentioned below, the data would be available for finance and
operations apps to do the heavy lifting of determining whether the requested items are
available and pricing and more. The results would be available near real-time in Power
Apps.

Finance and operations app development


Development for finance and operations apps is accomplished in Visual Studio using the
Visual Studio extension. This development environment provides everything a
professional developer would expect. The unified environment runs in the cloud, and
because of that we have made several changes and improvements to the way a
developer works with finance and operations apps. However, existing finance and
operations app developers find that most of their workflows aren't different from what
they're used to. The article Write, deploy, and debug X++ code walks you through how
to build X++ code, deploy it to the cloud, execute and debug it there. All other content
that you're likely to find about finance and operations app development, like how to
extend existing code, is likely to still hold true.

More information: Install and configure development tools


Power Platform
Power Platform is supported by a rich development ecosystem. There's a rich set of tools
in Power Platform that you can use for development. In particular, the Dataverse
relational database management system is utilized by the unified developer experience.
Many unified solutions work by synchronizing data between tables in the finance and
operations app database and tables (entities) in Dataverse. There are two technologies
for that: dual-write and virtual entities.

More information: Microsoft Power Platform developer documentation

Dual-write
Dual-write provides a tightly coupled near real-time and bi-directional integration
between the finance and operations apps and Dataverse. Once an entity is enabled for
dual-write, any create, update, or delete change in finance and operations apps results
in writes to Dataverse, and any such change in Dataverse results in writes to finance and
operations apps. For example, a change in the Customer entity in finance and
operations apps is reflected in the Account entity in Dataverse. Likewise, a change in the
Account entity in Dataverse is reflected in the Customer entity in finance and operations
apps. While all this happens with minimal setup, Power Platform does provide an
advanced user interface for all your customization needs.

More information: DualWrite .

Virtual tables
Virtual tables, also known as virtual entities, enable the integration of data residing in
external systems (including finance and operations apps). The virtual table capability
seamlessly represents external data in Dataverse tables without replication of data and
often without custom coding.

More information: Virtual Tables.

Next steps
Set up Visual Studio on your local development computer.

Install and configure development tools

See also
Install and configure development tools
Write, deploy, and debug X++ code
Frequently asked questions
Tutorial: Provision a new environment with an ERP-based template
Develop and customize home page (Dynamics 365 legacy information)
Unified admin experience for finance and operations apps

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Install and configure development tools
Article • 06/07/2024

This article describes how to install and configure required Visual Studio finance and
operations tools into your local development environment. The instructions in each
section should be followed in the order presented in this article.

) Important

You can learn more by watching presentation and demos done for the Dynamics
365 FastTrack Tech Talk series

Unified Development Experience for Finance and Operations | Dynamics 365


FastTrack Tech Talk

Prerequisites
As a prerequisite, you need access to a provisioned developer-focused sandbox
environment.
The user account you'll be using for development in the sandbox environment
must be assigned the System Administrator role.
The development machine should have at least 16 GB of free space on the local
system drive to download the extension and metadata.
The development machine running Microsoft Windows 10 or 11 must have Visual
Studio 2022 installed with at least the .NET desktop development workload, the
Modeling SDK and few other components.
This SDK and other components can be selected and installed from the individual
components pane in the Visual Studio installer. Refer to required Visual Studio
components.
Microsoft SQL Server Express LocalDB is installed by default with Visual Studio
2022, and you should validate that you can connect to it with windows
authentication.

Install the Power Platform extension for Visual


Studio
Follow the instructions in this article to install the extension from the marketplace: What
is Power Platform Tools for Visual Studio. You don't need to install the plug-in profiler as
directed in that article.

Connect to your online environment


After installing the Power Platform Tools extension for Visual Studio, follow these
instructions to connect Visual Studio to your unified developer-focused environment.

1. Launch Visual Studio if not already running.

2. In the Tools menu, select Connect to Dataverse or Download Dynamics 365


FinOps assets.

Connect to Dataverse only downloads assets if not downloaded earlier.


Download Dynamics 365 FinOps assets always downloads.

3. Select the desired options in the dialog and select Login.

If you need to use another account or a different online environment, don't choose
to use the signed-in user. Enter the credentials for your developer user account
with access to the online environment.

4. Select an available solution in the dialog, and then choose Done.

5. Find the sandbox environment created for online development in the list of
Dataverse environments and connect to it.

7 Note

If you have only one online development environment, the organization list
dialog may not be shown as you would automatically connect to the
environment.
If your account requires multi factor authentication, uncheck all checkboxes
on login screen.

If you are logging in to an online development environment in a tenant


different from your own, where your user principal name (UPN) is added as a
guest, update Visual Studio > Tools > Options > Power Platform Tools and
select Skip Discovery when connecting to Dataverse and uncheck all the
boxes on the login pane. You will be prompted to provide the Dataverse uri.
Download and install the finance and
operations extension and metadata
After installing the Power Platform Tools extension and connecting to the unified
developer environment, you'll be presented with a dialog to download the finance and
operations Visual Studio extension and metadata.
) Important

You can configure settings using the Visual Studio setting Tools > Options > Power
Platform Tools.

The option Auto setup for Dynamics 365... is enabled by default. This ensures you
do not have to manually extract system metadata or create the metadata
configuration. The tool will do this for you. Do look into the Visual Studio output
pane for any user action needed.

Consider selecting the option Do not display Power Platform Explorer... to speed
up connecting to your environment and Download logs... to get logs for
deployment and DBSync operations.

Consider deselecting the option Auto setup for Dynamics 365 if using Unified
environment to only download the assets and do the setup manually.

You need at least 16 GB of free space on the local system drive to download the
extension and metadata.

Choose OK in the dialog to start the download. Visual Studio keeps you updated on the
progress in the Visual Studio output pane.

Extract system metadata

7 Note

This is not required when auto setup is enabled

Downloaded assets can be found in the following location:


C:\Users\<User>\AppData\Local\Microsoft\Dynamics365\<ApplicationVersion>

The following files are downloaded:


DYNAMICSXREFDB.bak is a backup of the cross reference database.
Microsoft.Dynamics.FinOps.ToolsVS2022.vsix is the Finance and operations

extension.
PackagesLocalDirectory.zip is the System metadata.

TraceParser.msi Learn more about Trace Parser.

Unblock any of the three files that need unblocking.

Unpack the PackagesLocalDirectory.zip file as PackagesLocalDirectory . We recommend


using the 7zip utility to speed up extraction.

Install the finance and operations extension

7 Note

This is only required when the Visual Studio output pane indicates it is.

Using Windows File Explorer, from the folder C:\Users\


<User>\AppData\Local\Microsoft\Dynamics365\<ApplicationVersion> , open the
Microsoft.Dynamics.FinOps.ToolsVS2022.vsix file to install the extension.

On first start of Visual Studio after updating/installing the


Microsoft.Dynamics.FinOps.ToolsVS2022 VS extension, you will be prompted for
elevated permissions for the extension to register the URLProtocoloHandler, setup build
targets, to extract compiler files, etc.

Configure the finance and operations extension

7 Note

This is not required when auto setup is enabled. If you don't see the Configure
Metadata option, open Extensions > Dynamics 365 > Infolog and retry.
To configure the extension, follow these instructions.

1. Start Visual Studio, and then select Continue without code from the dialog.

2. Navigate to Extensions > Dynamics 365 > Configure Metadata for the first time.

3. On the configuration form, select New and then create a new configuration. Refer
to the field descriptions provided in the Configuration form field descriptions table
that follows this procedure.
4. Select Save.

5. You can similarly edit a configuration. A common field to update is the folder for
your own custom metadata.

6. You might also want to move your cross reference database from SQL server local
db to SQL server and update the configuration

7. You can delete stale configurations.

8. Note that only one configuration can be current or active at any given time.

Configuration form field descriptions

ノ Expand table

Form field Description

Name Name of the configuration you're creating now.

Description Description of the configuration you're creating now.

Cross reference Set to (localdb)\. if you're using LocalDB, or localhost if you're using
database server Microsoft SQL Server.

Cross reference The name for the cross reference database. The Visual Studio extension
database name creates one if it doesn't exist.

Application version to Select this. It's populated from the assets downloaded when you
restore cross connected to the unified developer environment.
reference database
from

Folder for your own Folder where your own X++ modules are (or will be).
custom metadata

Folders for reference Should contain at least the path where you have the extracted the
metadata PackagesLocalDirectory folder mentioned in Extract system metadata.
Also where you would add folders containing other reference modules;
for example those received from ISVs.

Troubleshooting configuration
If the Save button is still grayed out after filling in all the fields, you'll see error messages
with a red border in tooltips on fields with invalid values.
Ensure that you entered the correct values for fields with errors. For example, use
(localdb)\. if you're using LocalDB. Also, if you're using LocalDB, you might need to

first configure and test it. Consider issuing the following command from a Command
prompt:

sqllocaldb create MSSQLLocalDB -s .

More information: SQL Server Express LocalDB.

7 Note

If the cross reference database does not already exist, the tool will restore the
database from the backup downloaded to C:\Users\
<User> \AppData\Local\Microsoft\Dynamics365\ <ApplicationVersion> . You'll see

notifications in the Visual Studio Output pane. If you need to restore it again by
yourself you can do so after downloading with auto setup disabled. For instructions
to do a database restore refer to Restore to SQL Server.

Completing configuration

After the configuration is created after a fresh installation of the extension, you might
get a prompt for elevation as administrator to register the protocol handler and to
extract compiler files. Go ahead and accept these prompts.

Once the configuration completes, navigate to View > Application Explorer . You should
see the Application Explorer window open. You might have to restart Visual Studio first.

You can create several configurations, but must select one to be current. The chosen
configuration takes effect on new instances of Visual Studio.

Summary
Congratulations! You're now ready to build, deploy, debug, and test your X++ modules
working with the Power Platform online development environment. Explore the
possibilities with the power of finance and operations integrated with Power Platform.

Next steps
Start writing code, deploy, and debug.

Write, deploy, and debug X++ code

See also
Unified developer experience for finance and operations apps
Feedback
Was this page helpful?  Yes  No

Provide product feedback


Tutorial: Write, deploy, and debug X++
code
Article • 06/07/2024

The unified developer experience for finance and operation apps enables you to write
code on your local development computer and run it inside a cloud service. There exists
a separation of functionality between these two tiers (local and cloud).

Development tier - contains the finance and operations metadata and any X++
source code on your local development computer
Execution tier - cloud hosted site that stores the business data and executes X++
code

This article shows you how to:

1. Write and compile a runnable X++ class


2. Deploy the class to the cloud runtime
3. Debug the deployed X++ code

Let's begin by developing a runnable X++ class to use as an example. The class's only
task is to log a message into the Infolog. The important thing here isn't what the
runnable class does, rather it's how we compile, run, and debug it. If you want to learn
about the X++ language, see the programming reference.

) Important

You can learn more by watching presentation and demos done for the Dynamics
365 FastTrack Tech Talk series

Unified Development Experience for Finance and Operations | Dynamics 365


FastTrack Tech Talk

Prerequisites
You should have access to a unified developer environment, the Visual Studio tools
extensions installed and configured on your developer machine and connected to the
same environment. It's important to keep the metadata changes on your developer
machine deployed to the connected environment . More information: Install and
configure development tools
Create a model
We start by creating a model in Visual Studio.

1. Launch Visual Studio and choose Continue without code.

2. Choose the menu option Extensions > Dynamics 365 > Model management >
Create model.... If you don't see this menu option, you don't have the required
Visual Studio extension installed.

3. Enter a model name of "MyTestModel" when prompted by the form, providing


relevant information for the rest of the required information.

4. On the next step of the form, choose Create new package.


5. Choose all referenced models. You only need to specify dependencies on the
Application Platform and Application Foundation packages in this trivial example.

6. Select Next multiple times until the package has been created.
Add and compile the runnable X++ class
Create a project and X++ class in Visual Studio by following these steps.

1. Create a project in Visual Studio that contains the runnable class. The name of the
class isn't important here. For this exercise, keep the default name that is
FinanceOperations3.
2. Add a runnable class to the project in Solution Explorer by right-clicking the
project and choosing Add > New item.
3. Select a Runnable Class in the Code menu under Dynamics 365 items, and call it
"MyRunnableClass". Visual Studio opens a window with the template for a
runnable class providing a static main method that is called as the runnable class
runs.
4. Add the following X++ code to the main method. Since we're only providing a
token implementation here, add a call to log a string message in the Infolog:

X++

internal final class MyRunnableClass


{
public static void main(Args _args)
{
Info('Hello World from the Server Side');
}
}

Compile the class to make sure you didn't introduce any errors to this code. The
compilation is done by selecting Build from the context menu on the project.

Deploy the class


All the work that we have done up until now has happened on the client side. The X++
compiler and the related tools are all installed locally, along with the metadata that
defines the application you're developing against. In Visual Studio, you can use the
Configure Metadata menu item to manage the configuration that you're working with.

Now the time has come to execute the code, and for code execution you need to deploy
the code to the server (cloud) tier. For this operation, use the Extension > Dynamics 365
> Deploy > Deploy Models to Online Environment menu item. The dialog that appears
allows you to select the packages to deploy. In this case, you need to select
"MyTestModel". You can easily find that model by using the search field at the top of the
list of packages. At the bottom of the dialog, see the packages that are referenced. Since
these packages are part of the code that Microsoft ships, you don't need to deploy
them as they're already installed on the server tier.

At this point you're accessing the endpoint in the cloud, so unless you are already
logged in you likely need to authenticate and connect to the environment. Use your
Microsoft Dataverse credentials to connect to Dataverse and select the solution to work
against. After a short wait, the authentication will complete.

) Important

There are different ways to deploy your changes to the unified development
environment.

1. Deploy the full model via the Dynamics 365 > Deploy > Deploy models ...
dialog. You can choose to synchronize the database if so desired.
2. As part of a full build, deploy the full model. This deployment is initiated via
the Dynamics 365 > Build models dialog if the option to Deploy to
connected online environment is turned on. The tool will synchronize
database or not based on the synchronize database setting on the same
Options tab.

3. As part of an incremental build from Solution Explorer, setting Deploy


changes to online environment to true will only deploy changes since the last
successful deployment or those made as part of this build. It will honor the
project settings for Synchronize database.

4. Right-click a project and choose to Deploy model for project .... This will only
deploy changes since last successful deployment but will not synchronize the
database for the module.

5. Synchronize the database for all models without deploying anything new via
Dynamics 365 > Synchronize database....

You can follow the progress of the deployment by navigating to the "FinOps Cloud
Runtime" drop down in the Visual Studio output window. Once that deployment is
complete, you can see log information by following the link displayed in the output
window.

Debug the deployed code


After you have compiled the project code and uploaded it to the cloud endpoint, the
binary is ready to be executed. To verify that all is well with the compiled class code,
debug it.

1. In Visual Studio, set the debugging options to load the symbols for your package
and also for ApplicationPlatform and ApplicationFoundation packages.

To set the options, start by opening the options from the Extensions menu, and go
to the debugging tab. The Debugging page shows options for loading symbols.
Make sure you indicate that you want to load the items in your solution and also
the ApplicationFoundation and ApplicationPlatform packages.

2. Set a breakpoint in the line where we call the Info method and then press the
green arrow in the toolbar, or use the F5 keyboard shortcut, to start debugging.
A browser window opens with a URL that designates the runnable class. After a
little while the browser loads the form that shows that the class runner is active,
and is executing the MyRunnableClass class. Next, the debugger loads the symbols
for your project and execution stops at the breakpoint.

3. Press F5 to continue execution and then see that the Infolog pane in Visual Studio
shows the message we entered into the Infolog using the call to the Info method.

4. Refresh the browser window, which reloads the URL.

You'll see that the breakpoint loads immediately. The debugger is still running, and
the output message appears a second time in the Infolog without restarting the
debugger. This technique is especially useful when running forms. You can always
refresh the browser, and the form is loaded again without any delay caused by
loading the symbols.

Let's now try that. Instead of tediously writing our own form all over again, use a form
that already exists. Start by using the SysUserSetup form that allows you to set the
colorization (theme) used to render forms. We'll change the URL to open the
SysUserSetup form instead of running the class by changing the menuitem (mi) - that
part that designates the menu item to start the class runner. The URL will end up with
something like this:

https://<environment>?prt=initial&debug=vs&activityid=\

<unchanged>&cmp=DAT&mi=SysUserSetup

You'll now see the form that allows you to choose the colors.

Now let's set a breakpoint in the form.

1. Open the Application Explorer from the View menu.


2. Enter the string SysUserSetup type:"form" in the search bar in the Application
Explorer window.
3. Select the form, and select View code to open the editor with the source code for
this form.
4. In that form, set a breakpoint in the selectionChange method in the
ThemeChooser control. This code is triggered when the user selects a new color
theme.
5. In the browser window, select one of the colored squares, let's say the red one.
You'll hit the breakpoint.
6. Continue the execution by pressing F10 or F5. Another colored square is hit and
the breakpoint is triggered again.
7. You can watch the locals, set new breakpoints and do various debugging tasks.
) Important

If you want to attach the debugger to the running AOS process in the unified
environment use Dynamics 365 > Launch debugger.

To detach the debugger from the runtime without restarting the AOS, use Detach
in place of Stop.

Use Application Insights to monitor and diagnose the application executing in the
unified development environment. Learn more about observability: Monitoring and
telemetry using Application Insights

Summary
As a recap, here's a summary and the points to take away from this exercise.

We started with using Visual Studio to create a simple runnable class. After the
compilation, the package needed to be pushed to the cloud endpoint for execution.
X++ code can only be executed in the cloud, so we performed a deployment operation.
Once the deployment was complete, we executed the code by setting a breakpoint and
running the debugger. We then started a form from the browser, and noticed that
breakpoints were hit correctly as the form was used, and we did not have to restart the
debugger for that to happen. In fact, the debugger can be started by using the Launch
debugger option on the Extension menu. You can then enter a URL in the browser,
execute the scenario to debug and the breakpoints will be hit.

See also
Unified Development Experience for Finance and Operations | Dynamics 365 FastTrack
Tech Talk
Unit testing in the unified developer experience
Create and manage environments in the Power Platform admin center
Manage Dynamics 365 apps

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Workflow to write, deploy, debug, and
troubleshoot X++ code across multiple
environments
Article • 06/12/2024

This article describes a workflow to write, deploy, debug, and troubleshoot X++ code
across multiple environments.

7 Note

You can learn more by watching the presentation and demos for the Dynamics 365
FastTrack Tech Talk series. Unified Development Experience for Finance and
Operations | Dynamics 365 FastTrack Tech Talk

Let's start by talking about a development machine with multiple unified developer
environments.

Multiple unified development environments


A developer machine can be used to connect to multiple unified development
environments. However, an instance of Visual Studio can at any time be connected to
only one environment and have only one metadata configuration active. You can switch
the active configuration using the menu item Extensions > Dynamics 365 > Configure
Metadata.

Switching the active metadata configuration doesn't change the environment you're
connected to. You can change it from the Visual Studio menu item Tools > Connect to
Dataverse.

The same configuration may be valid for multiple environments with same finance and
operation application and platform versions. It's still better to have a metadata
configuration per environment. These configurations can have common values for
custom and reference metadata folder, and more. The current configuration and the
current connection together determine what gets deployed and to which environment.

Different environments with different finance and operation application and platform
versions could be used for different purposes. It is recommended that the finance and
operation Visual studio extension version matches with the environment.
The X++ compiler, label compiler, and other tools invoked by any version of the Visual
Studio extension corresponds to the application version of the active configuration you
have set as current.

If there are no breaking changes among the various targeted application and platform
versions using the oldest version for the finance and operation, the Visual Studio
extension version would ensure that the built artifacts are compatible with higher
runtime versions in the environments.

A unified developer environment and multiple


developer machines
Whether talking about the same or a different developer, if multiple development
machines are used it becomes more likely, but not inevitable, to unintentionally corrupt
the common unified development environment. This could happen when deploying a
change that does not account for what is already deployed to the same environment.

The situation described above could also arise from the same development machine, in
case the custom metadata code loses consistency, for example by switching Git
branches.

The way to keep things consistent and prevent unintended changes to the unified
development environments is to use version control, for example Azure DevOps with
Git, to ensure a referenced record of what is deployed to any environment.

) Important

We cannot emphasize enough the important role of version control to ensure good
code hygiene and to provide historical records, checkpoints, and synchronization
points.

Deploy code and synchronize the database


Let's look at your options when deploying code and synchronizing the database on a
unified development environment.

ノ Expand table
Scenario Deployment method Notes

Deploy one or many Use the Dynamics 365 > Deploy > You can optionally
modules that are Deploy models ... dialog. synchronize the database
already built for the modules.

Deploy one or many Initiate via the Dynamics 365 > Build You can optionally
modules as part of a full models dialog after setting the option synchronize the database
build to Deploy to connected online for the modules using the
environment . synchronize database
setting on the same Options
tab.

Deploy one or many Initiate via build/rebuild of the You can optionally
modules as part of a project(s) or solution after setting the synchronize the database
build/rebuild of X++ option to Deploy changes to online for the included changes
projects from Solution environment . This only deploys
Explorer changes since the last successful
deployment and is faster

Deploy one module for Initiate via right-clicking the project This will only deploy
a given X++ project and choosing Deploy model for changes since last successful
from the Solution project .... deployment but won't
Explorer synchronize the database
for the module.

No deploying any Initiate via Dynamics 365 > This is a long running
module but synchronize Synchronize database... dialog. operation since DBSync is
the database for all run for all modules.
modules in the
environment

7 Note

Continuous incremental build and deployment could be much faster than full
deployment for large modules.
For binary only modules received from ISVs or other third parties, do a full
deployment and DB sync.
Do not change and try to deploy system modules.

Add modules received from ISVs or others


You can receive X++ modules in many different ways. It could be shared with you as zip
files or fully deployable packages, individually or a collection of modules, with code or
binary only, including ISV licenses or not.
In all these cases you would want to version them by checking them into some version
control system. You would then want to update the active metadata configuration to
refer to them.

Proceed by adding a new reference in Folders for reference metadata by clicking the
Add button and navigating to the common parent folder for all the reference modules.
As an example, if you want to add Module01 and Module02, place them in a common
folder (for example E:\ISVModules) and then refer the latter parent folder.

When to include a license for modules


Licenses can be directly included and deployed by placing them in the __License (with
two underscores) folder in the model, at the same level as your bin folder. This license is
verified and applied when you deploy the package.

As an example, if you want to add a license file licenseFile01 for Module01 present at
E:\ISVModules\Module01, create a child folder E:\ISVModules\Module01__License and
place the file in it as E:\ISVModules\Module01__License\licenseFile01. Additionally, a Full
DB Sync from the Dynamics 365 menu in Extensions is required for the applied license
to take effect.

Learn more at Independent software vendor (ISV) licensing

Convert a fully deployable package (Lifecycle


Services legacy package) into the new format
Let's describe how to convert a fully deployable package (Lifecycle Services legacy
package) into the new format to be compatible for deployment to environments.

Locate ModelUtil.exe inside the bin folder and run it from the command line to see
usage. Next, choose the -convertToUnifiedPackage option and provide the package zip
and output location as parameters.

7 Note

The conversion to a unified package may fail with message ending with - The file
'temp path\modelName\bin\fileName' already exists. This occurs if multiple
versions of the model are identified in the original package.

Solution: Ensure/recreate the original package making sure that only one version of
each model is present in the package at location
<OriginalPackage.zip>/AOSService/Packages/files/<model.version>.

Troubleshoot deployment or DBSync failures


The package deployment could fail in various stages including DB sync, for various
reasons including developer bugs. A link to download operation logs is available in the
Visual Studio output pane. It's downloaded if there were failures, or if you enable the
setting in Tools> Options> Power Platform Tools.

You can also download the logs from your Dataverse organization by following these
steps.

1. Sign in to the Dataverse organization


2. Find Finance and Operation Package Manager App on the main page
3. Select the app, and then from left pane, select Operation History
4. Open the respective record by selecting the Operation Name and download the
operation logs ( operationlogs.zip file)

Deployment and DBSync succeeded but need


to investigate my changes
If deployment and DB Sync are successful, you should execute your scenario and
contrast expected and actual behavior for clues. Infolog is often very helpful in this case.

If above issn't enough, you should attach the debugger to the running AOS process in
the unified environment using the menu Dynamics 365 > Launch debugger. Executing
the scenario this time with a few breakpoints set will give you better insight.

We recommend writing X++ unit tests for your code to ensure regressions are easily
and quickly detected. You could also use Application Insights to monitor and diagnose
the application executing in the unified developer environment.

Learn more about observability: Monitoring and telemetry using Application Insights

What information to provide Microsoft


Support?
The correlation ID, client machine name, and timestamp are required for Microsoft to
investigate. The correlation ID is in the Visual Studio output pane.
The logs are also written to Microsoft.PowerPlatformVSExtension*.log files in
C:\Users<user>\AppData\Local\Microsoft\Dynamics365\Logs. Additionally, a log file
named VisualStudioD365Extension*.log is generated at a path similar to
C:\Users\AppData\Roaming\Microsoft Corporation\Microsoft® Visual
Studio®<version>\VisualStudioD365Extension-*.log.

See also
Unified Development Experience for Finance and Operations | Dynamics 365 FastTrack
Tech Talk
Write, deploy, and debug X++ code
Unit testing in the unified developer experience
Create and manage environments in the Power Platform admin center
Manage Dynamics 365 apps

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Unit testing
Article • 06/07/2024

This how-to article shows you how to create and run reliable test cases.

Prerequisites
You need to have a Power Platform unified developer experience installed and
configured on your local machine and a Power Platform developer-focused sandbox
environment linked to it. It's important to keep the cloud and local representation of the
code the same (synchronized).

More information: Install and configure development tools

Key concepts
Use SysTest Framework to author unit/component test code
Test isolation

Use SysTest Framework to author


unit/component test code
You can create new test cases to test the functionality in an application.

1. Open Visual Studio.


2. On the File menu, select Open > Project/Solution, and then select
FleetManagement solution from the desktop folder. If the solution file isn't on
your computer, the steps to create it are listed in End-to-end scenario for the Fleet
Management sample application.
3. In Solution Explorer, right-click the Fleet Management solution, select Add, and
then select New Project.
4. Choose finance and operations as the project type to create.
5. Name this new project FleetManagementUnitTestSample, specify the
FleetManagement folder on the desktop
(C:\Users\Public\Desktop\FleetManagement) as the location, and then select OK.
6. In Solution Explorer, right-click the new project, and then select Properties.
7. Set the Model property to FleetManagementUnitTests, and then select OK.
8. Now add a test class containing the tests against the fleet management code.
Right-click the FleetManagementUnitTestSample project, select Add, and then
select New Item.
9. In the Add New Item window, select Test Class as the type of element to add.
Name the new class FMUnitTestSample, and then select Add.

The template class contains information that should get you started with writing your
test. In this example, the test class only consist of two tests, each marked with the
SysTestMethod attribute. Since the methods aren't subject to extensibility, they have
been adorned with a Hookable(false) attribute. In addition, the test class contains a
method called setup() that is called prior to any tests being run. This method is often
useful for setting up state shared across all tests.

X++

class FMUnitTestSample extends SysTestCase


{
public void setup()
{
// Reset the test data to be sure things are clean
FMDataHelper::main(null);
}

[SysTestMethod, Hookable(false)]
public void testFMTotalsEngine()
{
FMRental rental;
FMTotalsEngine fmTotals;
FMRentalTotal fmRentalTotal;
FMRentalCharge rentalCharge;
FMRentalTotal expectedtotal;
str rentalID = '000022';

// Find a known rental


rental = FMRental::find(rentalID);

// Get the rental charges associated with the rental


// Data is seeded randomly, so this will change for each run
select sum(ExtendedAmount) from rentalCharge
where rentalCharge.RentalId == rental.RentalId;

fmTotals = FMTotalsEngine::construct();
fmTotals.calculateRentalVehicleRate(rental);

// Get the totals from the engine


fmRentalTotal = fmTotals.totals(rental);

// Set the expected amount


expectedTotal = rental.VehicleRateTotal +
rentalCharge.ExtendedAmount;

this.assertEquals(expectedTotal,fmRentalTotal);
}
[SysTestMethod, Hookable(false)]
public void testFMCarValidateField()
{
FMCarClass fmCar;

fmCar.NumberOfDoors = -1;
this.assertFalse(fmCar.validateField(Fieldnum("FMCarClass",
"NumberOfDoors")));

fmCar.NumberOfDoors = 4;
this.assertTrue(fmCar.validateField(Fieldnum("FMCarClass",
"NumberOfDoors")));
}
}

Continue by following these remaining instructions.

1. Save the test class.


2. Build the project by right-clicking on the FleetManagementUnitTestSample project
in Solution Explorer, and then select Build.

After you have fixed any problems diagnosed by the X++ compiler, you're ready to run
your unit tests using the Visual Studio test explorer. In the unified developer experience,
the execution takes place in the cloud against the data that resides in the running SQL
Server. So you need to deploy the results of your compilation to the cloud by following
these steps.

1. Select the Deploy model for project FleetManagementUnitTests menu item from
the context menu on the project in Solution Explorer. You're prompted to connect
to Power Platform if you aren't already connected.

2. The deployment dialog is displayed. Since we haven't added any new tables that
need to be synced to the database, we now perform the deployment step. Fill out
the dialog and choose Deploy.
3. On the Test menu of Visual Studio, open Test Explorer.

4. Select Run selected test to execute in the cloud the two test methods of the test
case. Note that we do not currently support the debug menu in Test Explorer.

Test Explorer shows the results of each test after it completes. Hopefully, all your tests
succeed. If not, you can use Test Explorer to navigate to the offending test code.

Test isolation
For a test to be of high value it must be reliable. A test must pass or fail consistently
independent of other factors such as other tests. One typical cause of unreliable tests is
leaking state, such as data left behind in the database that influences downstream tests.
Another cause of unreliable tests is relying on tests to be called in a particular order. To
prevent this type of issue, you can use the SysTestTransaction attribute.

ノ Expand table

TestTransactionMode Description

AutoRollback Default. Provides the best isolation.


TestTransactionMode Description

All transactions are rolled back using SQL save points, and
all database statements are routed to the main connection
including user connections. No data is persisted.

LegacyRollback All insert statements are tracked and deleted during clean-
up.

All insert statements are downgraded to row-by-row. One


typical use case is when testing user connections or
concurrency scenarios. This isolation level cleans up setup
data, and the recommendation is to wrap each test method
in a ttsBegin and ttsAbort.

LegacyRollbackWithUpdateTracking All update, delete, and insert statements are tracked and
reverted during cleanup.

All insert, update, and delete statements are tracked and


downgraded to row-by-row. This mode is the slowest
isolation level.

None Only use this mode for debugging. Provides no isolation.

This setting can be useful to temporarily debug a test as it


allows you to use the regular user interface to navigate the
data that the test created.

Example:

X++

[SysTestTransaction(TestTransactionMode::LegacyRollback)]
class MyTestSample extends SysTestCase

Test module creation to manage test code and


FormAdaptors
Creating a test specific module helps to keep test code together and manageable.

1. Open Visual Studio and go to Dynamics 365 > Model Management > Create
model.

2. Enter the model name, select the layer, and then enter any more details. It's a good
idea to include the word Test in the name of the test module. The default build
definition is configured to discover all test modules that contain the word Test.
3. Because this model holds forms from the Application Platform/Foundation, add
references to models selected (checked) in the following figure.

See also
Write, deploy, and debug X++ code

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Request credentials to access D365
finance and operations product
database
Article • 06/07/2024

A developer at times benefits from read/write access to the product database. We


enable you to request credentials just in time, right from within Visual Studio. As
explained in Write, deploy, and debug X++ code, the business data is hosted in the
cloud.

This feature applies only to unified development environments. The developer needs to
have the system administrator (sysAdmin) in the environment.

To request credentials for database access, follow these steps:

1. Launch Visual Studio if not already running.


2. In the Tools menu, select SQL Credentials for Dynamics 365 FinOps... .

3. Enter the reason for requesting access credentials to the database.


4. The credentials are allowed for use only from clients using allowed IP v4 addresses
so connections attempts from machines other than in the specified IPv4 range are
denied by the Azure SQL firewall.
5. The dialog is prepopulated by default with only the current developer machine's
public IP v4 address.
6. You may need to update this IP V4 address range in case you want to use the
credentials from other machines or your developer machine has ip address
allocated to it very dynamically.

7. The dialog indicates that the access request is being processed.

8. On successful completion of the request, the dialog is populated with the


credentials, and you can use the buttons to copy the same to clipboard.
9. The dialog includes the expiration time for the credentials.
10. You can request new credentials anytime. If credentials, already requested, are still
valid and were requested from the same instance of Visual Studio you can access
them by reopening the dialog.
11. A credential granted for a given user in an environment invalidates any existing
credential for the same user in the same environment.
12. Multiple users can have an active credential each, in a given environment.
13. A user can have a credential each in multiple environments.

) Important

You can learn more by watching presentation and demos done for the Dynamics
365 FastTrack Tech Talk series

Unified Development Experience for Finance and Operations | Dynamics 365


FastTrack Tech Talk
See also
Write, deploy, and debug X++ code
Unit testing in the unified developer experience
Create and manage environments in the Power Platform admin center
Manage Dynamics 365 apps
Use SQL to query data in Dataverse

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Continuous integration and deployment
Article • 06/12/2024

This article explains how to implement continuous integration and deployment (CI/CD)
of Power Platform unified developer experience assets using Azure Pipelines.
Specifically, how to:

Get the latest Dynamics 365 Finance and Operations Tools and Power Platform
Build Tools
Create a build pipeline to generate a package in Power Platform unified package
format
Upload your solution and relevant artifacts, and link the generated package to
your deploy pipeline

Install or update the latest build tools


1. Sign into the Power Platform admin center and select the environment you want to
work in. In the Organization Settings > Extensions menu, locate and install the
“Dynamics 365 Finance and Operations Tools” shared extension.
2. Add a Create Deployable Package task in your build pipeline, and ensure it
contains task version 1. Ensure Add Licenses to Deployable Package has task
version 1.
3. Locate and install the Power Platform Build Tools extension from Organization
Settings > Extensions > Browse Marketplace.
4. Download the X++ NuGet packages with the required version and add them to
your artifact feed. For details on this step refer to Build automation that uses
Microsoft-hosted agents and Azure Pipelines - Finance & Operations.

Create a pipeline to generate a Power Platform


unified format package
The process for building your solution remains same, and can be based on preexisting
build pipelines. Follow the instructions that begin below this next image.
1. To generate a Power Platform unified package, add your version 1 task to Create
Deployable Package. Check the box for Create Power Platform Unified Package.
Add the package platform and application versions used to build the solution, and
provide the path for the deployable package location. Optionally, you can choose
to generate a separate Lifecycle Services format package.

2. If licensing is required, select the Add Licenses to Deployable Packages for your
version 1 task and choose Power Platform Unified Package from the drop down
menu. Provide the Model Name to include a license. Add a task for each model
that the license is needed. Modify the path to the deployable package created in
previous step. If the package folder created in the previous step is not provided as
input to this step correctly you may see the error 'fnomoduledefinition.json file not
found'.

3. Once the pipeline is built, locate the published artifacts under Related in the
Summary tab.

7 Note

If you see this error:

'An item with the specified name <initial drive path>\3c5d3d3b-4428-4901-


9357-4559d510e2a8<model> already exists.'

please ensure that you do not have duplicate modules as only 1 version per
module is accepted.

Link to your deploy pipeline


Follow these next instructions to link to your deployment pipeline.
1. Create a release pipeline, choosing the build pipeline from the preceding section.

2. Add the following tasks to stage 2 as shown in the following image.


a. Power Platform Tool Installer
b. Power Platform WhoAmI
c. Power Platform Deploy Package

For the WhoAmI task, add a generic service connection for your environment. You
can get the connection details from the Your Organization > Details.

3. To deploy the task, provide the path of the generated package from the build
pipeline.
Feedback
Was this page helpful?  Yes  No

Provide product feedback


Diagnose issues and analyze
performance using the Trace Parser
Article • 06/07/2024

This article explains how you can use the Trace Parser tool to consume traces and
analyze performance in your unified developer experience deployment. The tool can
visualize the execution of X++ methods and show execution call trees including the time
spent in each method and the time spent for each database operation.

Finding the Trace Parser


The Trace Parser tool is a desktop application running on the development (client)
machine. When you download the metadata, cross reference database, or more for a
particular application version, an installation program for the Trace Parser (named
TraceParser.msi) is also downloaded. Use this MSI file to install the Trace Parser tool.
When the tool is started the first time, it asks for a name for the database that holds the
traces. Provide a name that allows you to distinguish the trace database from other
databases on your server (for example "Traces").

How does it work?


The Trace Parser captures events that occur in running application code, when instructed
to do so, as described here. The events are stored in an Event Trace Log file (with a .ETL
file extension) that can be downloaded to the client tier.

The Trace Parser needs to query the data captured in the ETL file in advanced ways, so
the information in the ETL file must be extracted from the file and injected into a SQL
database on the client side. This work is done from the tool, where the ETL file can be
loaded and the database selected. Any SQL database can be used for this purpose. We
suggest using the same database as is used for the cross reference data.

Caveats
The data injected into the SQL database, that is subject to querying with the Trace
Parser, contains queries, data access statements, and call stacks. The user can optionally
include extended data into the logs to make diagnosing problems easier. Setting the
Include SQL parameter values option when collecting the trace may leak information in
the application to the trace. The recorded information should be kept as safe as the
production environment itself. You're advised to delete any of these databases as soon
as you're done using them, to not store ETL files in unsafe places, and to delete them
after use. The traces can be deleted in the Trace Parser tool. When the tool starts, it
shows an overview of the traces, and individual traces can be deleted from here.

Capturing a trace
When you wish to diagnose a problem in the running application, you start the tracing,
perform the application steps that demonstrate the problem, and then stop the trace.
The trace is then analyzed in the Trace Parser. You can provide a meaningful name to the
trace when you choose to start the trace.

In this section, we explain how to capture a trace from the application's web page.

1. On the browser navigation bar, select the question mark ?, and then select Trace.

2. In the Trace name field, enter a name for the trace that you're about to capture. It's
good practice to choose a name that reflects the problem you want to investigate.

3. As required, set the Include SQL parameter value option to Yes. Refer to the
caveats in the previous section.

4. Select the Start trace button.

5. Perform actions that must be analyzed, such as navigation to Accounts payable >
Vendors > All vendors.

6. When done, select Stop trace.

7. After the trace stops, select one of the following options. For this tutorial, select
the first option.

Download trace – Store the captured trace on the local machine. You can
then analyze a downloaded trace by using the desktop version of Trace
Parser.

7 Note

If you download a trace, it won't be available for later upload.

Upload trace – Store the trace in the cloud for later download (for example
by the administrator). Uploaded traces are automatically deleted after seven
(7) days. They can also be manually deleted from the Captured traces page.
Return to main menu – Return to the main tracing menu to start another
trace.

7 Note

If your scenario takes more than a few minutes, you should consider splitting it into
multiple traces. If a trace is too large, it can't easily be analyzed.

Assign trace rights to a user


Each system user account that is to capture and view traces must be assigned the
"System tracing user" role.

1. To give a user rights to capture a trace, go to System administration > Users >
Users.
2. Select the user and assign that person the System tracing user role.
7 Note

To help prevent unwanted tracing, remove the user role after the user has finished
tracing.

Viewing traces
The Timeline view tab is the first tab that you see after you import a trace into the Trace
Parser. This tab is shown in the following illustration.

The Timeline tab has the following major components:

The Select Grouping drop-down allows you to group based on various categories,
such as Customer ID, Username, Session Name, and more. Groupings display
maximum and minimum timestamp of events, total number of events, and lowest
event level within the grouping.
List of all events in a threaded or unthreaded view.
Property grid displayed for the selected event.
Timeline chart for all the selected events.
Filtering of events.
Session analysis notes.

The Call tree view is accessed by selecting the Call Tree tab. You can see the call tree for
all X++ methods.

Similarly, you can display the X++ tab to view a list of all the X++ methods. They are
sorted by fields such as inclusive/exclusive durations, RPC, or database calls. These
methods are similar to the corresponding tabs in Trace Parser and have the same
behavior.

See also
X++ language reference

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Execute unit tests in Azure Pipelines
Article • 06/12/2024

An Azure Pipeline build task is available that lets users execute unit tests on connected
cloud runtime environments using a continuous integration/continuous delivery (CI/CD)
pipeline. The "Execute Unit Tests in Unified Environment" task is included in the
Dynamics 365 Finance and Operations Tools extension.

More information: Continuous integration and deployment, Build automation that uses
Microsoft-hosted agents and Azure Pipelines

Prerequisites
To be successful in using this unit test capability, you must have:

Working knowledge of building and deploying X++ code using Azure Pipelines.
For more information, see the linked articles provided in the See also section.
Understanding of X++ unit test execution and general development.
Availability of this unit test execution capability in your organization.

Add a unit test task to a pipeline


Adding the ability to execute unit tests requires a build pipeline that can build and
deploy a solution to the unified developer experience environment. The tests are
obtained from the test models included in the repository, based on the assembly output
of the Build Solution pipeline task. The same tests must be pre-deployed on the unified
developer experience environment for the test execution to be possible. This
deployment can be accomplished in the same run of the pipeline or separately.

The deployment task is only required if there are any changes of the test cases that
aren't deployed on the environment. However, the build task is necessary to identify
which tests must be run. This unit test task must be included after the optional build and
deploy tasks.

In this next figure, the "Execute Unit Tests in Unified Environment" task is included in en
example build pipeline.
The output logs of the task contains information of each test executed and its output.
The task fails if any of the tests that are run fail.

Creating the unit test task

) Important

A new version (1.*) of the task has been released. See Update: Version 1 for
more information.

In this next image is an example unit test being defined. A description of each form field
follows.
ノ Expand table

Form field Description

Display name The name of the test execution task.

Service Service connection to the unified developer experience environment on which


connection the deployment has been made.

Package Versions of the deployed package and connected environment.


Platform
Version
Form field Description

Package
Application
Version

Platform The location of the Microsoft.Dynamics.AX.Platform.DevALM.BuildXpp NuGet


Package Path package installed on the agent.

X++ Tools The location of the Microsoft.Dynamics.AX.Platform.CompilerPackage NuGet


Path package installed on the agent.

Location of The storage location where the build task produced the assemblies of the
the X++ models included. This value is often set to $(Build.BinariesDirectory).
modules to
test

Search Include the pattern for the modules that the tests must be run for. Provide a
patterns for name matching pattern for X++ package (module) names inside the path that is
the X++ specified in the location of the X++ modules to test option. You can also specify
modules to a list of names instead of search patterns, or exclusion filters. More information:
test File matching patterns reference.

Update: Version 1
A new version (1.*) of the Execute Unit Tests in Unified Environments task is available.
This version replaces the Service Connection authentication field. Now you can use
multiple authentication mechanisms, like username/password and appId/client Secret to
execute the test requests.

You can use the existing Power Platform Set Connection Variables task to generate the
connection string in the same pipeline before using the unit test execution task. Learn
more about the details for this task and about connection types. You can retrieve the
connection string and use it in subsequent tasks by creating a reference name in the
Output Variables section for classic pipelines.

The following image shows how to use the task to generate an output variable named
op that is referenced in the subsequent unit test execution task:
You can also use this in a YAML pipeline:

Sample Power Platform Set Connection Variables task – Use either of the connection
types and replace the URL and the service connection name, as shown in Power Platform
Set Connection Variables. Use the name field to specify the output variable.

yml

task: microsoft-IsvExpTools.PowerPlatform-BuildTools.set-connection-
variables.PowerPlatformSetConnectionVariables@2
displayName: 'Power Platform Set Connection Variables '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: <Service Connection>
Environment: '<Power platform environment URL>'
name: 'op'

The following screenshot shows the same reference name used in a unit test task:
Known Issues
The Execute Unit Tests in Unified Environment task is stuck/times out after message:
“Starting submit of test request:”

Solution: This could occur if the Connection string provided by the user is of type
Username/Password and has MFA enabled. Only Service Principal/Client Secret
authentication or Username/Password without MFA authentication are supported.

See also
Unit testing
Continuous integration and deployment
Build automation that uses Microsoft-hosted agents and Azure Pipelines
Unit Test Framework

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Frequently asked questions
Article • 07/17/2024

This FAQ answers common questions regarding the unified developer experience for
finance and operations apps.

Licensing, capacity, and environment


provisioning

My environment shows as preparing in Power Platform


admin center, but is now disappeared. Why did my
environment deployment fail?
This missing environment situation happens when provisioning fails. Contact Microsoft
Support with the environment name and tenant ID.

I can't provision an environment with PowerShell 7


Use Windows PowerShell instead of PowerShell 7

My provisioning fails with an error about missing licenses


When you get the following error, ensure that you have licenses for the template you're
deploying.

Error message:

"You don't have the required Dynamics 365 licenses to create a database with <app
name> Dynamics app."

How can I provision or update my unified environment to


a specific finance and operations version
We currently don't have the capability to provision or update the environment to a
specific runtime update or version. Support for versions is planned, but until enabled, we
suggest using the environment copy feature to get your unified development
environment on the same version as the sandbox or production environments. Copy a
Lifecycle Services environment to a unified environments
Developer setup (metadata download,
configuration, connecting to an environment)

Can I watch a presentation and demos covering core


developer scenarios
Yes, one such place among others is Unified Development Experience for Finance and
Operations | Dynamics 365 FastTrack Tech Talk Dev

I connected to the environment from Visual Studio but


didn't get any pop-up to download metadata
Ensure that the unified development environment you created is a unified development
environment of type Sandbox. A Trial environment doesn't work.

The Configure Metadata option doesn't appear on the


menu
When this option is missing from the menu, open Infolog from the menu and retry. This
issue is addressed in application version 10.0.39 and higher.

How do I redownload the client assets?


In Visual Studio from the Tools menu, select Download Dynamics 365 FinOps assets.

PackagesLocalDirectory extraction doesn't complete


You can configure settings using the Visual Studio setting Tools > Options > Power
Platform Tools. The option Auto setup for Dynamics 365... is enabled by default. This
setting ensures you don't have to manually extract system metadata or create the
metadata configuration. The tool configures metadata for you. The Visual Studio output
pane informs you of any user action needed.

You can still use 7-Zip to extract the metadata.

The message "Please wait for update to complete" popup


keeps appearing
When a configuration is created, saved, and the dialog closed, the necessary files are
updated and this popup doesn't appear. If the dialog keeps recurring even after you
open a new Visual Studio instance, the find the file
C:\Users<user>\AppData\Local\Microsoft\Dynamics365<AppVersion>\PackagesLocalDir
ectory\bin\InstalledVersion.json in reference metadata folder and update the version to
match the platform version in your environment.

Cross reference database validation keeps failing


Ensure that your Microsoft Windows user has access to the specified SQL Server or
LocalDB. The following instructions describe a LocalDB setup.

1. Download the LocalDB 2019 installer by using the SQL Server Express installer .
2. Run the installer and select Download Media
3. Select "LocalDB" and Download
4. Before running the SqlLocalDB.msi installer, delete your current MSSQLLocalDB
instance:

PowerShell

sqllocaldb stop MSSQLLocalDB


sqllocaldb delete MSSQLLocalDB
sqllocaldb create MSSQLLocalDB -s

5. Run the new SqlLocalDB.msi (2019) installer. It creates a new MSSQLLocalDB


instance.

I get a missing licenses error when running unified


developer experience operations
When you get the following error, contact Microsoft Support with environment details
to fix the issue.

Error message:

"Principal user (Id= <Redacted> , type=8, rollCount=2, privilegeCount=<>,


accessMode=1, MetadataCachePrivilegesCount=7371, businessUnitId= <Redacted>
(Setup/Stub unlicensed user with filtered privileges from associated roles. Consider
assigning license.)), is missing prvCreatemsprov_fnopackage privilege"
Unified developer experience operations (apply
package, debugging, copy, pipeline setup,
package conversion)

My Operations fails with error


EnvironmentNotInReadyState
This result happens when the unified developer environment isn't ready to service the
request. Retry after a few minutes. You can check if the environment is in the ready state
by opening the finance and operations environment link.

What is the earliest version of source environment I can


copy from?
Unified developer experience functionality is generally available for version 10.0.39 and
later. During copy we also copy compute. Therefore, if the source environment is earlier
than the target, you might lose some unified developer experience features made
available only in the more recent version.

Is package deployment of the unit test code required for


executing tests in the cloud runtime?
Yes. Any new tests or modifications must be deployed to the environment for the test
execution to succeed.

What dependencies are needed for running unit tests on


a new model?
Application Foundation and Test Essentials are required for unit test execution.

How can I set up a pipeline that automates creation and


application of a deployable package to a new
environment?
Use the latest version of the Azure DevOps extension from the marketplace. It's capable
of package creation, ISV license addition, and application of the package. Refer to
Dynamics 365 Finance and Operations Tools .
How can I deploy packages received from ISVs to my
Unified Developer Environment?
Place the ISV modules in a common folder. Add this common parent folder of all ISV
modules to the existing list of reference metadata folders in the active configuration you
intend to use. For more information, see Install and configure development tools.

How do I include a license and directly deploy from


Visual Studio?
Licenses can be directly included and deployed by placing them in the __License (with
two underscores) folder in the model, at the same level as your bin folder. This license is
verified and applied when you deploy the package.

Additionally, a Full DB Sync from the Dynamics 365 menu in Extensions is required for
the applied license to take effect.

How can I convert a fully deployable package (Lifecycle


Services legacy package) into the new format to be
compatible for deployment to environments?
Locate ModelUtil.exe inside the bin folder and run it from the command line to see
usage. Choose the -convertToUnifiedPackage option and provide the package zip and
output location as parameters.

How can I create a fully deployable package (Lifecycle


Services legacy package) from Visual Studio?
For UDE, we moved on to the Power Platform Unified Package format, but you can still
create the fully deployable package from Azure DevOps pipelines in addition to the
unified format.

Stopping debugging restarts the runtime


Use Detach All to end debugging in place of Stop Debugging.

Are you still improving developer experiences in UDE?


Yes, we're focused on improving developer experiences across all scenarios
encompassing F&O, Dataverse and all of Power Platform. These include sign-in,
deployment, troubleshooting, SSRS and richer, uniform / modern UX across the board.

Checking logs and history

I applied a package, but it failed. How can I do further


debugging to determine the failure?
The package deployment can fail in various stages including DB sync, for various
reasons including developer bugs. A link to download operation logs is available in the
Visual Studio output pane. Logs download if there are failures or if you enable the
setting in Tools > Options > Power Platform Tools.

You can also download the logs from your Dataverse organization:

Sign in to the Dataverse organization.


Find Finance and Operation Package Manager App on the main page.
Select the app and then from left pane, select Operation History.
Open the respective record by selecting the Operation Name and download the
operation logs ( operationlogs.zip file).

How can I find the history of packages applied, DB sync,


and other updates to my environment?
You can check the packages applied and other updates to your Finance and Operations
environment with the following steps:

Sign in to the Dataverse organization.


Find Finance and Operation Package Manager App on the main page.
Select the app and then select Package in the left pane to see packages applied to
your Finance and Operations environment.
Select Operation History to see the history of operations performed on your
Finance and Operations environment.

My operation failed, and wasn't able to find sufficient


information in the logs. What information do I provide to
Microsoft Support?
The correlation ID, client machine name, and timestamp are required for Microsoft to
investigate. The correlation ID is in the Visual Studio output pane.

The logs are also written to Microsoft.PowerPlatformVSExtension*.log files in C:\Users\


<user>\AppData\Local\Microsoft\Dynamics365\Logs . Additionally, a log file named

VisualStudioD365Extension*.log is generated at a path similar to

C:\Users\AppData\Roaming\Microsoft Corporation\Microsoft® Visual Studio®\


<version>\VisualStudioD365Extension-*.log .

How do I monitor and diagnose deployed code running


in the unified environment?
Use Application Insights to monitor and diagnose the application executing in the
unified developer environment.

Learn more about observability: Monitoring and telemetry using Application Insights

See also
Unified Development Experience for Finance and Operations | Dynamics 365
FastTrack Tech Talk Dev
Unified developer experience for finance and operations apps
Install and configure development tools
Write, deploy, and debug X++ code
Unit testing in the unified developer experience

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Power Platform developer tools
Article • 05/14/2024

Microsoft Power Platform provides various tools for developers to extend platform
features and capabilities using code.

ノ Expand table

Tool Release Description


notes

Power Platform link Microsoft Power Platform CLI is a simple, one-stop developer CLI
CLI that empowers developers and ISVs to perform various operations
in Microsoft Power Platform related to environment lifecycle,
authentication, and work with Microsoft Dataverse environments,
solution packages, portals, code components, and more.

Power Platform link The Power Platform extension for Visual Studio Code makes it easy
Tools for Visual to manage Power Platform environments and allows the developer
Studio Code to create, build and deploy Power Platform solutions, packages and
portals. Installing this extension will also make the latest Power
Platform CLI (aka pac) available in your VSCode terminal.

Power Platform link Power Platform Tools for Visual Studio supports the rapid creation,
Tools for Visual debugging, and deployment of plug-ins. Other capabilities include
Studio development of custom workflow activities, web resources,
integration technologies like Azure Service endpoints and
webhooks, and more.

Visual Studio Add Power Platform as a connected service in Visual Studio to


connected create a custom connector.
service

ALM developer ALM developer tools for Power Platform enables developers to
tools create and manage projects related to testing, deployment,
maintenance, and governance of solutions.

Dataverse Dataverse developer tools enable developers to extend data


developer tools platform capabilities in Power Platform.

Power Apps Test link Power Apps Test Engine is an open source project that provides
Engine (preview) developers with an automated testing platform for canvas apps.

Feedback
Was this page helpful?  Yes  No

Provide product feedback


What is Microsoft Power Platform CLI?
Article • 05/15/2024

Microsoft Power Platform CLI is a simple, one-stop developer CLI that empowers
developers and ISVs to perform various operations in Microsoft Power Platform related
to:

Environment lifecycle
Authentication
Microsoft Dataverse environments
Solution packages
Power Pages
Code components
and more...

Provide feedback
Use github.com/microsoft/powerplatform-build-tools/discussions to view and submit
feedback for PAC CLI.

Install Microsoft Power Platform CLI


There are three ways to install the Power Platform CLI. You can use multiple installation
methods on the same computer.

ノ Expand table

Method OS Support Description

Install the Visual Windows, Enables use of commands within a PowerShell terminal within
Studio Code Linux, Visual Studio Code on Windows 10, Windows 11, Linux, and
extension macOS macOS.

When you install using ONLY this method, by default PAC CLI
will only be available within a Visual Studio Code terminal
unless you enable PAC CLI in Command Prompt (CMD) and
PowerShell terminals for Windows

Install with .NET Windows, Enables use of commands within a PowerShell, CMD, or Bash
Tool Linux, shell on Windows 10, Windows 11, Linux, and macOS.
macOS
This installation method doesn't enable use of pac data or
Method OS Support Description

certain pac package commands (deploy and show) that are


only available for Windows.

Install with Windows Enables use of commands within a PowerShell terminal within
Windows MSI only Visual Studio Code on Windows only. You can manage
installed versions with this installation method.

7 Note

The following commands are only available on Windows:

pac data
pac package deploy
pac package show

To use these commands on Windows, install Power Platform CLI using either (or
both) of these installation methods:

Visual Studio Code extension


Windows MSI

These commands aren't available on Windows if you only install using the .NET
Tool.

Check whether Power Platform CLI is already installed


How to determine whether the Power Platform CLI is installed depends on your
operating system.

Windows

1. Open a PowerShell terminal:

If you ONLY installed the Visual Studio Code extension, open a Visual
Studio Code Powershell terminal window.
If you installed using the .NET Tool, open a Visual Studio Code
Powershell terminal OR a Powershell terminal.

2. Type Get-Command pac | Format-List at the prompt, and press Enter.

The results should look something like this:


Name : pac.exe
CommandType : Application
Definition : C:\Users\you\.dotnet\tools\pac.exe
Extension : .exe
Path : C:\Users\you\.dotnet\tools\pac.exe
FileVersionInfo : File: C:\Users\you\.dotnet\tools\pac.exe
InternalName: pac.dll
OriginalFilename: pac.dll
FileVersion: 1.29.11
FileDescription: Microsoft Power Platform CLI
Product: Microsoft Power Platform&copy;
ProductVersion: 1.29.11+g9e2b163
Debug: False
Patched: False
PreRelease: False
PrivateBuild: False
SpecialBuild: False
Language: Language Neutral

When Power Platform CLI isn't installed, you'll get this error:

PowerShell

Get-Command: The term 'pac' is not recognized as a name of a cmdlet,


function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that
the path is correct and try again.

Check which version of Power Platform CLI is installed


Open the command prompt (on Microsoft Windows), or a Terminal session (in Linux),
type pac and press Enter.

You should see something like this where the version is on the second line.

Microsoft PowerPlatform CLI


Version: 1.30.3+g0f0e0b9

Manage auth profiles


Most PAC CLI commands require authenticated access to resources. You'll need to
create and use auth profiles.

7 Note

With the Visual Studio Code extension, you can view and manage authentication
profiles.

Connect to your tenant


Use the pac auth create command to connect to your tenant. Running pac auth create
creates an authentication profile on your machine. You can have multiple authentication
profiles available. Having multiple authentication profiles is interesting when you work
with multiple tenants. For instance, when your company uses multiple tenants (for
development, production, and test) or when you're a consultant that works for multiple
customers.

The pac auth create command has a couple of helpful parameters:

The --environment parameter enables you to automatically connect to the right


environment. If you omit the --environment parameter, you're connected to the
default environment, but with the --environment parameter added to it, you can
connect to a different one. You can use the environment ID, url, unique name, or
partial name as the value.

In environments where you don't have the ability to use an interactive experience,
adding the --deviceCode parameter makes sure you can still connect. For example,
in GitHub Codespaces, the --deviceCode parameter automatically gets added
when you run pac auth create .

Example

To connect to the HR-Dev environment, you can use the following example:

PowerShell

pac auth create --environment "HR-Dev"

Switch to another authentication profile


When you have multiple authentication profiles, you can easily switch using the pac
auth list and pac auth select commands.

The pac auth list command lists all authentication profiles on your machine. The pac
auth select command selects a different command.

pac auth list Example

To list all authentication profiles, use the following example:

PowerShell

pac auth list

Running the pac auth list command returns all authentication profiles:

PowerShell

Index Active Kind Name Friendly Name Url


User Cloud Type
[1] * UNIVERSAL Personal Productivity (Default)
https://x.crm.dynamics.com/ user@contoso.onmicrosoft.com
Public User

Select a different authentication profile using the index value.

PowerShell

pac auth select --index 2

Enable tab completion in PowerShell


Power Platform CLI has a pac complete command similar to the .NET CLI complete
command.

When configured using the instructions below, you can type just the beginning of a
command and then use the Tab key to complete the input entered.

To add tab completion to PowerShell for the PAC CLI, create or edit the profile stored in
the variable $PROFILE . For more information, see How to create your profile and Profiles
and execution policy.

Add the following code to your profile:


PowerShell

$scriptblock = {
param($wordToComplete, $commandAst, $cursorPosition)

&pac complete -s "$($commandAst.ToString())" | ForEach-Object {


[System.Management.Automation.CompletionResult]::new($_, $_,
'ParameterValue', $_)
}
}

Register-ArgumentCompleter -Native -CommandName pac -ScriptBlock


$scriptblock

Other Shells
You can also use this with bash, zsh, fish, and nushell. Instead of dotnet complete use
pac complete

US Sovereign cloud availability


Microsoft Power Platform CLI is available for use in the GCC and GCC High (US
Sovereign cloud) regions. See the --cloud parameter for the pac auth create command
to find out about supported US Sovereign cloud environments.

Next steps
Learn about the commands. For the complete list of supported commands, run the pac
help command or pac <subcommand> help - for example: pac solution help .

Or view the list of commands in the documentation:

Microsoft Power Platform CLI Command Groups

See also
Microsoft Power Platform CLI release notes
Microsoft Power Platform CLI Command Groups
Power Apps component framework
Feedback
Was this page helpful?  Yes  No

Provide product feedback


Install the Power Platform Tools Visual
Studio Code extension
Article • 02/14/2024

Applies to: Windows Linux macOS

The Visual Studio Code extension is the recommended way to install Power Platform CLI.
This extension upgrades automatically when new versions are released. You also have
the options to install a previous version or side-load the extension.

Prerequisites
Download and install Visual Studio Code .

Install
You can install the Microsoft Power Platform CLI using the Visual Studio Code extension
from the Visual Studio Marketplace or from Visual Studio Extensions.

Install from the Visual Studio Marketplace


1. Go to Power Platform Tools
2. Select Install.
3. Select Continue if the Visual Studio Code is required to install this extension
dialog appears
4. Select Open if the This site is trying to open Visual Studio Code dialog appears
5. In Visual Studio Code, select Install

Install from Visual Studio Code extensions


1. In Visual Studio Code, select the Extensions icon in the navigation bar.
2. Search for 'power platform tools'
3. Select the Install button in the search results.

Install a previous version


If there's an issue with the current version, you can revert to an earlier version.

1. In Visual Studio Code, select Extensions


2. Search for 'power platform tools'

3. In the main window, select the drop-down arrow on the Uninstall button

4. Select Install Another version...

5. Select the previous version you want to install

6. After the installation is completed, select Reload Required

When you select this option, the extension gives you the option to Update and ignores
automatic updates. To resume automatic updates:

1. While viewing the Power Platform Tools extension in Visual Studio Code, select the
drop-down arrow on the Update button.
2. Clear the Ignore Updates check box
3. Close and reopen Visual Studio Code to trigger the update.

Side-load install
In some organizations, downloading or initiating an install over the web is prohibited.
Most cases, the organization downloads the installation media and stores it in a secure
location and verify that it's working according to their standards, before it's distributed
within the organization. Use the following instructions to support this type of
installation.

1. Go to Power Platform Tools in the Visual Studio Marketplace

2. On the right side, in the Resources group select the Download Extension link.

This downloads a file named microsoft-IsvExpTools.powerplatform-vscode-


x.x.xx.vsix where x.x.xx is the current version.

3. In Visual Studio Code select Extensions

4. Select the ellipsis on the Extensions side bar, and then select Install from VSIX...
5. Select the downloaded file.

6. When installation is complete, you'll see a notification saying Completed installing


Power Platform Tools extension from VSIX.

Update
There's usually no need to update. The extension updates automatically as new versions
are released. When you open Visual Studio Code, you'll see a notification like this:

If you choose to install a previous version, you'll need to re-enable automatic updates.

Uninstall
1. In Visual Studio Code, select Extensions
2. Search for 'power platform tools'.
3. In the main window, select Uninstall.
Enable PAC CLI in Command Prompt (CMD)
and PowerShell terminals for Windows
By default, the Visual Studio Code extension only enables commands using the Visual
Studio Code PowerShell terminal.

To enable using PAC CLI in Command Prompt (CMD) and PowerShell terminals for
Windows, you can do any of the following:

Install Power Platform CLI with .NET Tool


Install Power Platform CLI using Windows MSI
Add the PAC CLI executable to the Windows environment PATH.

Authentication profile management


When you install the Visual Studio Code extension, you can view and manage
authentication profiles.

See also
What is Microsoft Power Platform CLI?
Install Power Platform CLI with .NET Tool
Install Power Platform Tools for Windows

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Install Power Platform CLI with .NET
Tool
Article • 02/14/2024

Applies to: Windows Linux macOS

You can install, update, and uninstall the Power Platform CLI using .NET tool commands.

7 Note

An internet connection is required for install and update. Power Platform CLI with
.NET Tool is installed and updated from this NuGet package:
Microsoft.PowerApps.CLI.Tool

Prerequisites
You must have .NET installed. (.NET 6.0 is recommended.)

Windows

Install .NET on Windows

Install
Install Power Platform CLI by using the dotnet tool install command:

.NET CLI

dotnet tool install --global Microsoft.PowerApps.CLI.Tool

Update
Update Power Platform CLI by using the dotnet tool update command:

.NET CLI

dotnet tool update --global Microsoft.PowerApps.CLI.Tool


7 Note

All updates for Power Platform CLI require internet connection to access the latest
Nuget package: Microsoft.PowerApps.CLI

Uninstall
Uninstall Power Platform CLI by using the dotnet tool uninstall command:

.NET CLI

dotnet tool uninstall --global Microsoft.PowerApps.CLI.Tool

File locations
The default location for a tool's executable file depends on the operating system:

ノ Expand table

OS Path

Linux/macOS $HOME/.dotnet/tools

Windows %USERPROFILE%\.dotnet\tools

This location is added to the user's path when the SDK is first run. So global tools can be
invoked from any directory without specifying the tool location.

Tool access is user-specific, not machine global. A global tool is only available to the
user that installed the tool.

See also
What is Microsoft Power Platform CLI?
Install the Power Platform Tools Visual Studio Code extension
Install Power Platform Tools for Windows
How to manage .NET tools

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Install Power Platform CLI using
Windows MSI
Article • 02/27/2024

Applies to: Windows only

The pac data and certain pac package commands are only available for Windows
because they currently have dependencies on .NET Framework, which isn't cross-
platform compatible.

7 Note

An internet connection is required for install and update. Power Platform CLI for
Windows is installed and updated from this NuGet package:
Microsoft.PowerApps.CLI

Install
1. Download the powerapps-cli-1.0.msi file.

2. Open the powerapps-cli-1.0.msi file and accept the terms in the License
Agreement.
3. Select Install

4. When the Power Apps CLI Setup wizard is completed, select Finish.

Update
To get the latest updates for Power Platform Tools for Windows, run this command:

PowerShell

pac install latest

Uninstall
1. Download the powerapps-cli-1.0.msi file
2. Open the powerapps-cli-1.0.msi file
3. Select Next
4. In the Change, repair, or remove installation screen, select Remove
5. In the Ready to remove PowerApps CLI screen, select Remove to confirm
6. When the Power Apps CLI Setup wizard is completed, select Finish

Manage versions
Each time you install Power Platform CLI using Windows MSI, the old installations aren't
removed. You can revert back to an earlier installed version if there's an issue with a
newer version.

You can type pac use and press Enter to list installed versions. If you have multiple
versions installed on your system, then you can type pac use <CLI version number> and
press Enter to use a specific version.

C:\> pac use


1.29.11 (In Use)
1.30.3
1.30.6 (Latest)
C:\> pac use 1.30.6
Now using version 1.30.6 of the Microsoft PowerApps CLI.
C:\>
C:\> pac use
1.29.11
1.30.3
1.30.6 (In Use) (Latest)
C:\>

Known issue with pac power-fx repl


When you install using the Windows MSI, the shell can stop responding when you try to
use pac power-fx repl. To work around this issue, install and use the Visual Studio Code
extension or install Power Platform CLI with .NET Tool.

See also
What is Microsoft Power Platform CLI?
Install the Power Platform Tools Visual Studio Code extension
Install Power Platform CLI with .NET Tool
Create and register a plug-in package
using PAC CLI
Article • 02/26/2024

In this article you'll learn how to create a plug-in package, upload and register it on the
Dataverse server, and perform some other package management tasks. You'll be using
PAC CLI to create the plug-in package and the Plug-in Registration tool to upload and
register the package.

This article helps you:

" Create a Visual Studio plug-in project


" Add a dependent assembly to the project and build
" Use the Plug-in Registration tool to upload and register your package
" Use the Plug-in Registration tool to update and delete a package

More information: Build and package plug-in code.

Prerequisites
Access to a Dataverse environment
A system user account, with System Administrator or System Customizer role, in
the target environment
The tools described in the next table

ノ Expand table

Tool/App Instructions

Microsoft Power Use version 1.17 or higher.


Platform CLI The preferred installation method is using Visual Studio Code. See Power
Platform Tools .

You can also download and install the Windows version here:
https://aka.ms/PowerAppsCLI .

If you have already installed the Windows version, make sure you run pac
install latest to get the latest version.

More information: What is Microsoft Power Platform CLI?

Plug-in Registration Use version 9.1.0.184 or higher.


tool (PRT)
Tool/App Instructions

Use these instructions to install the latest version: Dataverse development


tools.

Visual Studio Microsoft Visual Studio 2019 or newer.

Create a Visual Studio project


Use the PAC CLI pac plugin init command to create a Visual Studio project that
streamlines your development process with dependent assemblies.

1. Create a folder for your plug-in project. The name of this folder determines the
name of the Visual Studio .NET Framework Class library project for your plug-in.

2. Open a PowerShell terminal window in Visual Studio Code to navigate to the folder
and run the command pac plugin init. For plug-in packages, we recommend that
you use the --skip-signing parameter so that your plug-in assemblies aren't
signed.

Example:

PowerShell

PS E:\projects\mypluginproject> pac plugin init --skip-signing

7 Note

You are not required to sign the assemblies when using dependent assemblies. If
you sign your assembly, all dependent assemblies must also be signed. More
information: Signed assemblies are not required

The pac plugin init command has a number of optional parameters. You must use
the --skip-signing parameter if you do not want to sign your plug-in assembly.

These commands create a Visual Studio .NET Framework class library project based on
the name of the folder it was created in.

Depending on your Visual Studio solution configuration, when you open the Visual
Studio project in Visual Studio and build it, a NuGet package is generated for the project
in the bin\Debug or bin\Release folder. Each time you build your project, this NuGet
package is updated. The NuGet package is the file you upload using the Plug-in
Registration tool.
Add a dependent assembly to your project
You can add a NuGet package for satisfying required references to your Visual Studio
plug-in project as you normally do. After you build the project, you should find your
plug-in assembly in the generated NuGet package located in the bin\outputPackages
folder.

You can use NuGet Package Explorer to examine the generated NuGet package.

Add a dependent assembly without using NuGet


If you have an assembly that isn't distributed as a NuGet package, you can add it to your
project as you normally do. In Solution Explorer, right-click Dependencies and choose
Add Assembly Reference.... Select the assembly you want to add.

Use the Plug-in Registration tool


You can use the Plug-in Registration tool (PRT) to perform the following tasks:

1. View list of available plug-in packages


2. Register a NuGet package as a plug-in package

View list of available plug-in packages


The PRT has a new Display by Package view to list any plug-in packages previously
imported:

Register a NuGet package as a plug-in package


The PRT has a command to select a NuGet package to import/register as a plug-in
package.

This command opens a dialog to select the plug-in package.

You can select an existing solution or create a new one.

From the Display by Package view, you can select the assembly and register steps.
The assembly is also available within the Display by Assembly view.

Plug-in package management


Within the Plug-in Registration tool, you can perform additional operations on plug-in
packages as described in the next sections.

Update a plug-in package


While viewing the list of plug-in packages using the Display by Package view, select the
plug-in package and select the Update command.

This command opens a dialog so you can select the NuGet Package with changes.

) Important

If your update removes any plug-in assemblies, or types which are used in plug-in
step registrations, the update will be rejected. You must manually remove any step
registrations that use plug-in assemblies or plug-in types that you want to remove
with your update.
The version of the plug-in package or plug-in assembly is not a factor in any
upgrade behaviors. You can update the version of the plug-in assembly as you
need.

The name and version of the plug-in package cannot be changed once created.
Attempting to do so, for example in an API call, results in an error.

Delete plug-in packages


While viewing the list of plug-in packages using the Display by Package view, select the
plug-in package and select the Unregister command.

) Important

You cannot unregister a package that has any plug-in step registrations for any
plug-in assemblies in the package. You must first unregister all step registrations
for the assemblies in the package before you can delete the package.

See also
About the Plug-in Registration tool
Microsoft Power Platform CLI Command
Groups
Article • 03/26/2025

ノ Expand table

Command Description
Group

pac admin Work with your Power Platform Admin Account

pac application Commands for listing and installing available Dataverse applications from
AppSource

pac auth Manage how you authenticate to various services

pac canvas Operating with Power Apps .msapp files

pac catalog Commands for working with Catalog in Power Platform

pac connection Commands for working with Dataverse connection.

pac connector Commands for working with Power Platform Connectors

pac copilot Tools and utilities for copilot management

pac data Import and export data from Dataverse.

pac env Work with your Dataverse organization.

pac help Show help for the Microsoft Power Platform CLI.

pac modelbuilder Code Generator for Dataverse APIs and Tables

pac package Commands for working with Dataverse package projects

pac pages Commands for working with Power Pages website.

pac pcf Commands for working with Power Apps component framework projects

pac pipeline Work with Pipelines

pac plugin Commands for working with Dataverse plug-in class library

pac power-fx (Preview) Commands for working with Power Fx

pac solution Commands for working with Dataverse solution projects

pac telemetry Manage telemetry settings.


Command Description
Group

pac test (Preview) Execution of automated tests for a Power App

pac tool Power Platform tools that can be installed and launched.

See also
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac admin
Article • 03/26/2025

Work with your Power Platform Admin Account

Commands
ノ Expand table

Command Description

pac admin add-group Add environment to a group.

pac admin application list List Microsoft Entra ID applications registered under your tenant.

pac admin application Register Microsoft Entra ID application with your tenant.
register

pac admin application Unregister Microsoft Entra ID application from your tenant.
unregister

pac admin assign-group Assign group to target Dataverse environment with specified
security role.

pac admin assign-user Assign a user to a target Dataverse environment with specified
security role.

pac admin backup Takes a manual backup of your environment.

pac admin copy Copy Source Environment to Destination Environment.

pac admin create Creates a Dataverse instance in your tenant.

pac admin create-service- Add Microsoft Entra ID application and associated application
principal user to the Dataverse environment.

pac admin delete Deletes the environment from your tenant.

pac admin list List all environments from your tenant.

pac admin list-app-templates Lists all supported Dataverse templates of model-driven apps in
Dynamics 365.

pac admin list-backups Lists all backups of your environment.

pac admin list-groups List environment groups from your tenant.

pac admin list-service- List Microsoft Entra ID applications which have access to
Command Description

principal Dataverse.

pac admin list-tenant- List tenant settings.


settings

pac admin reset Reset the environment from your tenant.

pac admin restore Restores an environment to a given backup.

pac admin set-backup- Sets the backup retention period in days as provided. Valid values
retention-period are: 7, 14, 21, 28.

pac admin set-governance- Enable, disable, and edit managed environments.


config

pac admin set-runtime-state Update environment administration mode.

pac admin status This command lists the status of all the operations in progress.

pac admin update-tenant- Update tenant settings.


settings

pac admin add-group


Add environment to a group.

Required Parameters for admin add-group

--environment-group -eg

Environment group.

Optional Parameters for admin add-group

--environment -env

Environment (ID, org ID, url, unique name, or partial name).

pac admin application list


List Microsoft Entra ID applications registered under your tenant.
pac admin application register
Register Microsoft Entra ID application with your tenant.

Required Parameters for admin application register

--application-id -id

Application Id

pac admin application unregister


Unregister Microsoft Entra ID application from your tenant.

Required Parameters for admin application unregister

--application-id -id

Application Id

pac admin assign-group


Assign group to target Dataverse environment with specified security role.

Required Parameters for admin assign-group

--group -g

Microsoft Entra ID object ID of group to assign to target Dataverse environment.

--group-name -gn

Name of the group or team to create in Dataverse.

--membership-type -mt

Team membership type.

Use one of these values:


MembersAndGuests
Members

Owners
Guests

--role -r

Name or ID of security role to be applied to user

--team-type -tt

Type of team.

Use one of these values:

Owner
Access

AadSecurityGroup

AadOfficeGroup

Optional Parameters for admin assign-group

--business-unit -bu

ID of business unit to associate application user with.

--environment -env

ID or URL of the environment to assign a user to.

pac admin assign-user


Assign a user to a target Dataverse environment with specified security role.

Examples
The following examples show the use of the pac admin assign-user command.

Assign a user by email to an environment with the basic user role


Assign a user by guid to an environment with the system administrator role and
add the user to a specified business unit
Assign an application user to an environment with the system administrator role

Assign a user by email to an environment with the basic user role

PowerShell

pac admin assign-user `


--environment 00000000-0000-0000-0000-000000000000 `
--user "user@company.com" `
--role "Basic User"

Assign a user by guid to an environment with the system


administrator role and add the user to a specified business unit

PowerShell

pac admin assign-user `


--environment 00000000-0000-0000-0000-000000000000 `
--user 00000000-0000-0000-0000-000000000000 `
--business-unit` 00000000-0000-0000-0000-000000000000 `
--role "System Administrator"

Assign an application user to an environment with the system


administrator role

PowerShell

pac admin assign-user `


--environment 00000000-0000-0000-0000-000000000000 `
--user 00000000-0000-0000-0000-000000000000 `
--role "System Administrator"
--application-user

Required Parameters for admin assign-user

--role -r

Name or ID of security role to be applied to user


--user -u

Object ID or user principal name (UPN) of Microsoft Entra ID user to be assigned to the
environment or Application ID if assigning an Application User.

Optional Parameters for admin assign-user

--application-user -au

Specifies whether the input user is an application user. If a business unit isn't specified,
the application user is added to the authenticated users business unit.

This parameter requires no value. It's a switch.

--async -a

Deprecated: This parameter is ignored.

--business-unit -bu

ID of business unit to associate application user with.

--environment -env

ID or URL of the environment to assign a user to.

pac admin backup


Takes a manual backup of your environment.

Example

Create a manual backup for an environment

PowerShell

pac admin backup `


--environment 00000000-0000-0000-0000-000000000000 `
--label "Manual Backup October 2022"
Required Parameters for admin backup

--label -l

Sets the backup label as provided.

Optional Parameters for admin backup

--environment -env

Environment URL or ID of the Environment that requires backup.

pac admin copy


Copy Source Environment to Destination Environment.

Examples
The following examples show the use of the pac admin copy command.

Copy an environment from a source environment to a target environment using a


minimal copy
Copy an environment from a source environment to a target environment using a
full copy

Copy an environment from a source environment to a target


environment using a minimal copy

This example copies over customizations and schemas only from a source environment
to a target environment.

PowerShell

pac admin copy `


--name "Environment Name" `
--source-env 00000000-0000-0000-0000-000000000000 `
--target-env 00000000-0000-0000-0000-000000000000 `
--type MinimalCopy
Copy an environment from a source environment to a target
environment using a full copy

This example copies the whole environment over from a source environment to a target
environment.

PowerShell

pac admin copy `


--name "Environment Name" `
--source-env 00000000-0000-0000-0000-000000000000 `
--target-env 00000000-0000-0000-0000-000000000000 `
--type FullCopy

Optional Parameters for admin copy

--async -a

Optional boolean argument to run pac verbs asynchronously, defaults to false.

This parameter requires no value. It's a switch.

--max-async-wait-time -wt

Max asynchronous wait time in minutes. The default value is 60 minutes.

--name -n

Name of the target environment.

--skip-audit-data -sa

Switch indicating whether audit data should be skipped

This parameter requires no value. It's a switch.

--source-env -se

Environment URL or ID of the source environment that is being copied

--target-env -te
Environment URL or ID of the target environment.

--type -t

Use one of these values:

MinimalCopy

FullCopy

--json

Returns the output of the command as a JSON formatted string.

pac admin create


Creates a Dataverse instance in your tenant.

Examples
The following examples show the use of the pac admin create command.

Simple creation of an environment


Advanced creation of an environment
Create using --input-file

Simple creation of an environment

In this example, we'll create a sandbox environment with the default settings:

Currency: USD
Language: English
Region: unitedstates

We don't have to add those properties, because those values are the default values.

PowerShell

pac admin create `


--name "Contoso Test" `
--type Sandbox `
--domain ContosoTest
Advanced creation of an environment
In this example, we'll create a production environment in the region europe, with the
currency set to Euro and the language to English.

We don't have to add the language property, because it's the default value.

PowerShell

pac admin create `


--name "Contoso Marketing" `
--currency EUR `
--region europe `
--type Production `
--domain ContosoMarketing

Create using --input-file

In this example, we create the same environment described in Advanced creation of an


environment, except refer to data in a JSON file named config.json where config.json
contains this data:

JSON

{
"name": "Contoso Marketing",
"currency": "EUR",
"region": "europe",
"type": "Production",
"domain": "ContosoMarketing"
}

Then, refer to the file when using the pac admin create command:

PowerShell

pac admin create --input-file C:\config.json

Required Parameters for admin create

--type -t

Sets the environment Type.


Use one of these values:

Trial

Sandbox
Production

Developer

Teams
SubscriptionBasedTrial

Optional Parameters for admin create

--async -a

Optional boolean argument to run pac verbs asynchronously, defaults to false.

This parameter requires no value. It's a switch.

--currency -c

Sets the currency used for your environment. [defaults to USD]

--domain -d

The domain name is part of the environment URL. If domain name is already in use, a
numeric value is appended to the domain name. For example: If 'contoso' is already in
use, then the environment URL is updated to https://{contoso}0.crm.dynamics.com.

Note: Only characters within the ranges [A - Z], [a - z], [0 - 9], or '-' are allowed. The first
and last character can't be the '-' character. Consecutive '-' characters aren't allowed.

--input-file -if

The verb arguments to be passed in a .json input file. For example: {"name" : "contoso"}.
The arguments passed through command-line will take precedence over arguments
from the .json input file.

--language -l

Sets the language used for your environment. [defaults to English]


--max-async-wait-time -wt

Max asynchronous wait time in minutes. The default value is 60 minutes.

--name -n

Sets the name of the environment.

--region -r

Sets the environment's region name. [defaults to unitedstates]

--security-group-id -sgid

Microsoft Entra ID Security Group Id or Microsoft 365 Group Id (required for Teams
environment).

Note: The Security Group Id must be a valid Guid.

--templates -tm

Sets the Dynamics 365 app that needs to be deployed, passed as comma separated
values. For example: -tm "D365_Sample, D365_Sales"

--user -u

Object ID or user principal name (UPN) of Microsoft Entra ID user to be assigned to the
environment.

--json

Returns the output of the command as a JSON formatted string.

pac admin create-service-principal


Add Microsoft Entra ID application and associated application user to the Dataverse
environment.

Example
PowerShell

pac admin create-service-principal --environment <environment id>

More information: Configure service connections using a service principal

Optional Parameters for admin create-service-principal

--environment -env

Environment (ID, org ID, url, unique name, or partial name).

--name -n

Application name to create in Entra ID.

--role -r

Name or ID of security role to be applied to application user. The default value is:
'System Administrator'.

Remarks
When successful, four columns are displayed:

Power Platform TenantId


Application ID
Client Secret (in clear text)
Expiration

For example:

PowerShell

PS C:\>pac admin create-service-principal --environment d3fcc479-0122-e7af-


9965-bde57f69ee1d
Connected as admin@M365x57236226.onmicrosoft.com
Successfully assigned user adde6d52-9582-4932-a43a-beca5d182301 to
environment d3fcc479-0122-e7af-9965-bde57f69eeld with security role System
Administrator
Tenant ID Application ID
Client Secret Expiration
2b0463ed-efd7-419d-927d-a9dca49d899c adde6d52-9582-4932-a43a-beca5d182301
beY8Q~JBZ~CBDgIKKBjbZ3g6BofKzoZkYj23Hbf 7/31/2024 4:27:03 PM

pac admin delete


Deletes the environment from your tenant.

Examples
The following examples show the use of the pac admin delete command.

Delete environment by GUID


Delete environment by URL

Delete environment by GUID

PowerShell

pac admin delete --environment 00000000-0000-0000-0000-000000000000

Delete environment by URL

PowerShell

pac admin delete --environment https://contosomarketing.crm4.dynamics.com

Optional Parameters for admin delete

--async -a

Optional boolean argument to run pac verbs asynchronously, defaults to false.

This parameter requires no value. It's a switch.

--environment -env

Environment URL or ID of the Environment that needs to be deleted from your tenant.

--max-async-wait-time -wt
Max asynchronous wait time in minutes. The default value is 60 minutes.

pac admin list


List all environments from your tenant.

Examples
The following examples show the use of the pac admin list command.

List all environments in the tenant


List all sandbox environments in the tenant

List all environments in the tenant

This example will list all environments in the tenant.

PowerShell

pac admin list

An example of the output is displayed below.

PowerShell

Environment Environment Id Environment Url


Type Organization Id
Contoso 00000000-0000-0000-0000-000000000000
https://contoso.crm.dynamics.com/ Production 00000000-0000-0000-0000-
000000000000
Contoso Dev 00000000-0000-0000-0000-000000000000 https://contoso-
dev.crm.dynamics.com/ Sandbox 00000000-0000-0000-0000-000000000000
Contoso Test 00000000-0000-0000-0000-000000000000
https://commdemos.crm.dynamics.com/ Sandbox 00000000-0000-0000-0000-
000000000000

List all sandbox environments in the tenant


This example will list all environments in the tenant of the type Sandbox .

PowerShell

pac admin list --type Sandbox


An example of the output is displayed below.

PowerShell

Environment Environment Id Environment Url


Type Organization Id
Contoso Dev 00000000-0000-0000-0000-000000000000 https://contoso-
dev.crm.dynamics.com/ Sandbox 00000000-0000-0000-0000-000000000000
Contoso Test 00000000-0000-0000-0000-000000000000
https://commdemos.crm.dynamics.com/ Sandbox 00000000-0000-0000-0000-
000000000000

Optional Parameters for admin list

--application -a

List all environments that have specified application installed. To specify application, use
unique name or ID.

--environment -env

List all environments that contain given string in their name or ID.

--name -n

List all environments that contain given string in their name.

--type -t

List all environments with the given type.

Use one of these values:

Trial
Sandbox

Production
Developer

Teams

SubscriptionBasedTrial

--json
Returns the output of the command as a JSON formatted string.

pac admin list-app-templates


Lists all supported Dataverse templates of model-driven apps in Dynamics 365.

Examples
The following examples use the pac admin list-app-templates command:

List all supported Dataverse database templates


List all supported Dataverse database templates of model-driven apps in Dynamics
365 for region Europe

List all supported Dataverse database templates


This example lists all supported Dataverse database templates of model-driven apps in
Dynamics 365.

PowerShell

pac admin list-app-templates

An example of the output is displayed below.

PowerShell

Template Name Template Location Template Display Name Is


Disabled
D365_CDSSampleApp unitedstates Sample App False
D365_CustomerService unitedstates Customer Service True
D365_CustomerServicePro unitedstates Customer Service Pro True
D365_DeveloperEdition unitedstates Developer Edition False
D365_FieldService unitedstates Field Service True
D365_Guides unitedstates Guides True
D365_PowerFrameworkTemplate unitedstates Power Framework False
D365_ProjectOperations unitedstates Project Operations True
D365_RemoteAssist unitedstates Remote Assist True
D365_Sales unitedstates Sales Enterprise True
D365_SalesPro unitedstates Sales Pro True
D365_SmbMarketing unitedstates SMB Marketing True

List all supported Dataverse database templates of model-driven


apps in Dynamics 365 for region Europe
This example lists all supported Dataverse database templates of model-driven apps in
Dynamics 365 for the region Europe.

PowerShell

pac admin list-app-templates --region Europe

An example of the output is displayed below.

PowerShell

Template Name Template Location Template Display Name Is


Disabled
D365_CDSSampleApp Europe Sample App False
D365_CustomerService Europe Customer Service True
D365_CustomerServicePro Europe Customer Service Pro True
D365_DeveloperEdition Europe Developer Edition True
D365_FieldService Europe Field Service True
D365_Guides Europe Guides True
D365_PowerFrameworkTemplate Europe Power Framework True
D365_ProjectOperations Europe Project Operations True
D365_RemoteAssist Europe Remote Assist True
D365_Sales Europe Sales Enterprise True
D365_SalesPro Europe Sales Pro True
D365_SmbMarketing Europe SMB Marketing True

Optional Parameters for admin list-app-templates

--region -r

Sets the environment's region name. [defaults to unitedstates]

pac admin list-backups


Lists all backups of your environment.

Examples
The following examples show the use of the pac admin list-backups command.

List backups from an environment by ID


List backups from an environment by URL
List backups from an environment by ID
This example lists the backups of an environment based on the environment ID.

PowerShell

pac admin list-backups --environment 00000000-0000-0000-0000-000000000000

An example of the output is displayed below.

PowerShell

Index Id Label Expiry


Point Date
1 00000000-0000-0000-0000-000000000000 Backup 14/12/2022
12:50:38 07/12/2022 12:50:38

List backups from an environment by URL


This example lists the backups of an environment based on the environment URL.

PowerShell

pac admin list-backups --environment https://contoso.crm.dynamics.com

Optional Parameters for admin list-backups

--environment -env

List all environments that contain a given string in their Environment ID or URL.

pac admin list-groups


List environment groups from your tenant.

pac admin list-service-principal


List Microsoft Entra ID applications which have access to Dataverse.

Optional Parameters for admin list-service-principal


--filter -f

Application name 'starts with' filter.

--max -m

Max number of applications to show. Default: 20

pac admin list-tenant-settings


List tenant settings.

Optional Parameters for admin list-tenant-settings

--settings-file -s

The .json file to output tenant settings.

pac admin reset


Reset the environment from your tenant.

Examples
The following examples show the use of the pac admin reset command:

Reset an environment in your tenant


Reset an environment in your tenant and set the currency to EUR

Reset an environment in your tenant

PowerShell

pac admin reset --environment 00000000-0000-0000-0000-000000000000

Reset an environment in your tenant and set the currency to EUR

PowerShell
pac admin reset --environment 00000000-0000-0000-0000-000000000000 --
currency EUR

Optional Parameters for admin reset

--async -a

Optional boolean argument to run pac verbs asynchronously, defaults to false.

This parameter requires no value. It's a switch.

--currency -c

Sets the currency used for your environment. [defaults to USD]

--domain -d

The domain name is part of the environment URL. If domain name is already in use, a
numeric value is appended to the domain name. For example: If 'contoso' is already in
use, then the environment URL is updated to https://{contoso}0.crm.dynamics.com.

--environment -env

URL or ID of the Environment that needs to be reset.

--input-file -if

The verb arguments to be passed in a .json input file. For example: {"name" : "contoso"}.
The arguments passed through command-line will take precedence over arguments
from the .json input file.

--language -l

Sets the language used for your environment. [defaults to English]

--max-async-wait-time -wt

Max asynchronous wait time in minutes. The default value is 60 minutes.


--name -n

Sets the name of the environment.

--purpose -p

Sets the description used to associate the environment with a specific intent.

--templates -tm

Sets the Dynamics 365 app that needs to be deployed, passed as comma separated
values. For example: -tm "D365_Sample, D365_Sales"

--json

Returns the output of the command as a JSON formatted string.

pac admin restore


Restores an environment to a given backup.

Examples
The following examples show the use of the pac admin restore command:

Restore the latest backup


Restore a backup based on a timestamp

Restore the latest backup


This example restores the latest backup from the source environment with ID 00000000-
0000-0000-0000-000000000000 to the environment that's currently selected in the

currently active auth profile.

PowerShell

pac admin restore --selected-backup latest --source-env 00000000-0000-0000-


0000-000000000000

Restore a backup based on a timestamp


This example restores the backup that has been created on 12/01/2022 09:00 from the
source environment with ID 00000000-0000-0000-0000-000000000000 to the environment
that's currently selected in the currently active auth profile.

PowerShell

pac admin restore --selected-backup '12/01/2022 09:00' --source-env


00000000-0000-0000-0000-000000000000

Required Parameters for admin restore

--selected-backup -sb

DateTime of the backup in 'mm/dd/yyyy hh:mm' format OR string 'latest'.

Optional Parameters for admin restore

--async -a

Optional boolean argument to run pac verbs asynchronously, defaults to false.

This parameter requires no value. It's a switch.

--max-async-wait-time -wt

Max asynchronous wait time in minutes. The default value is 60 minutes.

--name -n

Optional name of the restored environment.

--skip-audit-data -sa

Switch indicating whether audit data should be skipped

This parameter requires no value. It's a switch.

--source-env -se

Environment URL or ID of the source environment required for restore.


--target-env -te

Environment URL or ID of the target environment required for restore. This would
default to source URL/ID if not provided.

--json

Returns the output of the command as a JSON formatted string.

pac admin set-backup-retention-period


Sets the backup retention period in days as provided. Valid values are: 7, 14, 21, 28.

Required Parameters for admin set-backup-retention-


period

--backup-retention-period -br

Sets the backup retention period in days as provided. Valid values are: 7, 14, 21, 28.

Optional Parameters for admin set-backup-retention-


period

--async -a

Optional boolean argument to run pac verbs asynchronously, defaults to false.

This parameter requires no value. It's a switch.

--environment -env

Environment URL or ID of the Environment that requires backup.

--max-async-wait-time -wt

Max asynchronous wait time in minutes. The default value is 60 minutes.

pac admin set-governance-config


Enable, disable, and edit managed environments.

Required Parameters for admin set-governance-config

--environment -env

URL or ID of the environment for which managed environments need to be enabled,


disabled or edited.

--protection-level -pl

Set protection level : 'Standard' to enable managed environments, 'Basic' to disable


managed environments.

Use one of these values:

Basic

Standard

Optional Parameters for admin set-governance-config

--checker-rule-overrides -cro

Solution checker rule overrides

--cloud-flows-limit -cfl

Number of people that makers can share solution cloud flows with

--cloud-flows-mode -cfm

Solution cloud flows limit sharing mode

--disable-group-sharing -dgs

Disable group sharing.

This parameter requires no value. It's a switch.

--exclude-analysis -ea
Exclude usage insights for the environment from the weekly digest email.

This parameter requires no value. It's a switch.

--include-insights -ii

Include insights in the Power Platform Admin Center homepage cards.

This parameter requires no value. It's a switch.

--limit-sharing-mode -lsm

Limit sharing mode.

--maker-onboarding-markdown -mom

Maker onboarding markdown

--maker-onboarding-url -mou

Maker onboarding URL

--max-limit-user-sharing -ml

If group sharing is disabled, specify the number of people that makers can share canvas
apps with.

--solution-checker-mode -scm

Solution checker validation mode.

Use one of these values:

none

warn
block

--suppress-validation-emails -sve

Suppress validation emails

This parameter requires no value. It's a switch.


pac admin set-runtime-state
Update environment administration mode.

Required Parameters for admin set-runtime-state

--environment -env

URL or ID of the environment for which administration mode needs to be updated.

--runtime-state -rs

The environment runtime state

Use one of these values:

AdminMode

Enabled

Optional Parameters for admin set-runtime-state

--async -a

Optional boolean argument to run pac verbs asynchronously, defaults to false.

This parameter requires no value. It's a switch.

--background-operations -bo

The environment background operations state

Use one of these values:

Enabled
Disabled

--max-async-wait-time -wt

Max asynchronous wait time in minutes. The default value is 60 minutes.


pac admin status
This command lists the status of all the operations in progress.

pac admin update-tenant-settings


Update tenant settings.

Required Parameters for admin update-tenant-settings

--settings-file -s

The .json file with tenant settings.

Remarks
You can find an example using this command in Enable the environment routing setting.

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac application
Article • 03/26/2025

Commands for listing and installing available Dataverse applications from AppSource

Commands
ノ Expand table

Command Description

pac application install Installs Dataverse application to given environment.

pac application list List available Dataverse applications from AppSource

pac application install


Installs Dataverse application to given environment.

Examples
The following examples show the use of the pac application install command.

Install an application in a specified environment


Install a list of applications in a JSON file in a specified environment

Install an application in a specified environment

This example installs the MSFT_EmployeeIdeas application in the specified environment.

PowerShell

pac application install --environment-id 00000000-0000-0000-0000-


000000000000 --application-name MSFT_EmployeeIdeas

Install a list of applications in a JSON file in a specified


environment
This example installs the applications in the JSON file c:\home\applicationslist.json in
the specified environment.
PowerShell

pac application install --environment-id 00000000-0000-0000-0000-


000000000000 --application-list c:\home\applicationslist.json

Optional Parameters for application install

--application-list -al

Location of the JSON file with list of the Dataverse applications from AppSource to be
installed

--application-name -an

Unique name of the application to install to the target environment.

--environment -env

List available Dataverse applications for given environment (by ID or url); if not specified,
list all applications in the tenant

pac application list


List available Dataverse applications from AppSource

Examples
The following examples show the use of the pac application list command.

Application List
Application List JSON Export

Application List

This example lists all available applications in the specified environment.

PowerShell

pac application list --environment-id 00000000-0000-0000-0000-000000000000


Application List JSON Export
This example lists all available applications for the tenant you're connected to and saves
it as a JSON file in the directory c:\home .

PowerShell

pac application list --output c:\home\applicationslist.json

Optional Parameters for application list

--environment -env

List available Dataverse applications for given environment (by ID or url); if not specified,
list all applications in the tenant

--installState -s

Filter by application install state

Use one of these values:

NotInstalled
Installed

All

--output -o

Location of the JSON file to be created with list of the Dataverse applications from
AppSource

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No
Provide product feedback
pac auth
Article • 03/26/2025

Manage how you authenticate to various services

Connect to your tenant


Use the pac auth create command to connect to your tenant. Running pac auth create
creates an authentication profile on your machine. You can have multiple authentication
profiles available. Having multiple authentication profiles is interesting when you work
with multiple tenants. For instance, when your company uses multiple tenants (for
development, production, and test) or when you're a consultant that works for multiple
customers.

The pac auth create command has a couple of helpful parameters:

The --environment parameter enables you to automatically connect to the right


environment. If you omit the --environment parameter, you're connected to the
default environment, but with the --environment parameter added to it, you can
connect to a different one. You can use the environment ID, url, unique name, or
partial name as the value.

In environments where you don't have the ability to use an interactive experience,
adding the --deviceCode parameter makes sure you can still connect. For example,
in GitHub Codespaces, the --deviceCode parameter automatically gets added
when you run pac auth create .

Example
To connect to the HR-Dev environment, you can use the following example:

PowerShell

pac auth create --environment "HR-Dev"

Switch to another authentication profile


When you have multiple authentication profiles, you can easily switch using the pac
auth list and pac auth select commands.
The pac auth list command lists all authentication profiles on your machine. The pac
auth select command selects a different command.

pac auth list Example

To list all authentication profiles, use the following example:

PowerShell

pac auth list

Running the pac auth list command returns all authentication profiles:

PowerShell

Index Active Kind Name Friendly Name Url


User Cloud Type
[1] * UNIVERSAL Personal Productivity (Default)
https://x.crm.dynamics.com/ user@contoso.onmicrosoft.com
Public User

Select a different authentication profile using the index value.

PowerShell

pac auth select --index 2

Commands
ノ Expand table

Command Description

pac auth clear Clear all authentication profiles stored on this computer

pac auth create Create and store authentication profiles on this computer

pac auth delete Delete a particular authentication profile

pac auth list List the authentication profiles stored on this computer

pac auth name Name or rename an existing authentication profile

pac auth select Select which authentication profile should be active


Command Description

pac auth update Update name or target environment of an existing authentication profile

pac auth who Display information about currently selected authentication profile

pac auth clear


Clear all authentication profiles stored on this computer

pac auth create


Create and store authentication profiles on this computer

Examples
The following examples show the use of the pac auth create command.

Basic Create
Environment Create
Named Create
Named Create with Service Principal

Basic Create

This example will prompt you for credentials and connects to the tenant the credentials
belong to.

PowerShell

pac auth create

7 Note

When running Power Platform CLI in Codespaces this will trigger a device code
login.

Environment Create
This example will prompt you for credentials and connects to the Power Platform
environment with environment id you specify.

PowerShell

pac auth create --environment < Your environment ID >

 Tip

To find an environment id:

1. Open Power Platform admin center and select the Environment you want
to connect to. In the Details section, look for Environment ID

Named Create
This example authenticates with your tenant and gives it the name MyOrg .

PowerShell

pac auth create --name MyOrg

Named Create with Service Principal

This example authenticates with your tenant, gives it the name MyOrg-SPN and uses a
service principal to do so. Don't forget to add the service principal to your environment.

PowerShell

pac auth create --name MyOrg-SPN --applicationId 00000000-0000-0000-0000-


000000000000 --clientSecret $clientSecret --tenant 00000000-0000-0000-0000-
000000000000

Optional Parameters for auth create

--applicationId -id

Optional: The application ID to authenticate with.


--azureDevOpsFederated -adof

(Preview) Use Azure DevOps Federation for Service Principal Auth; requires --tenant and
--applicationId arguments

This parameter requires no value. It's a switch.

--certificateDiskPath -cdp

Optional: The certificate disk path to authenticate with

--certificatePassword -cp

Optional: The certificate password to authenticate with

--clientSecret -cs

Optional: The client secret to authenticate with

--cloud -ci

Optional: The cloud instance to authenticate with

Use one of these values:

Public
UsGov

UsGovHigh

UsGovDod
China

--deviceCode -dc

Use the Microsoft Entra ID Device Code flow for interactive sign-in.

This parameter requires no value. It's a switch.

--environment -env

Default environment (ID, url, unique name, or partial name).


--githubFederated -ghf

(Preview) Use GitHub Federation for Service Principal Auth; requires --tenant and --
applicationId arguments

This parameter requires no value. It's a switch.

--kind -k

Deprecated: This parameter is ignored.

--managedIdentity -mi

Use Azure Managed Identity.

This parameter requires no value. It's a switch.

--name -n

The name you want to give to this authentication profile (maximum 30 characters).

Note: The length of the name should be between 1 and 30

--password -p

Optional: The password to authenticate with

--tenant -t

Tenant ID if using application ID/client secret or application ID/client certificate.

--url -u

Deprecated: Use --environment instead.

--username -un

Optional: The username to authenticate with; shows Microsoft Entra ID dialog if not
specified.

Remarks
For the cloud parameter, the values to use map to these other common acronyms or
names:

GCC = UsGov
GCC High = UsGovHigh
DoD = UsGovDod

pac auth delete


Delete a particular authentication profile

Example
PowerShell

pac auth delete --index 2

Optional Parameters for auth delete

--index -i

The index of the profile to be deleted

Note: The value must be an integer with minimum value of 1.

--name -n

The name of the profile to be active

Note: The length of the name should be between 1 and 30

pac auth list


List the authentication profiles stored on this computer

pac auth name


Name or rename an existing authentication profile
Example
The following example shows how to rename an auth profile. In this case, the profile
with index 1 will be renamed to 'Contoso Dev'.

PowerShell

pac auth name --index 1 --name "Contoso Dev"

Required Parameters for auth name

--index -i

The index of the profile to be named/renamed

Note: The value must be an integer with minimum value of 1.

--name -n

The name you want to give to this authentication profile (maximum 30 characters).

Note: The length of the name should be between 1 and 30

pac auth select


Select which authentication profile should be active

Example
PowerShell

pac auth select --index 2

Optional Parameters for auth select

--index -i

The index of the profile to be active.

Note: The value must be an integer with minimum value of 1.


--name -n

The name of the profile to be active

Note: The length of the name should be between 1 and 30

pac auth update


Update name or target environment of an existing authentication profile

Examples
The following examples show the use of the pac auth update command.

Update auth profile with environment URL


Update auth profile with environment ID

Update auth profile with environment URL

This example shows how to update the auth profile with index 1 with the name Contoso
Dev and the environment URL https://contosodev.crm.dynamics.com .

PowerShell

pac auth update --index 1 --name "Contoso Dev" --environment


"https://contosodev.crm.dynamics.com"

Update auth profile with environment ID

This example shows how to update the auth profile with index 1 with the environment
ID 00000000-0000-0000-0000-000000000000 .

PowerShell

pac auth update --index 1 --environment 00000000-0000-0000-0000-000000000000

Required Parameters for auth update

--index -i

The index of the profile to be named/renamed


Note: The value must be an integer with minimum value of 1.

Optional Parameters for auth update

--environment -env

Default environment (ID, url, unique name, or partial name).

--name -n

The name you want to give to this authentication profile (maximum 30 characters).

pac auth who


Display information about currently selected authentication profile

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac canvas
Article • 03/26/2025

Operating with Power Apps .msapp files

[This article is pre-release documentation and is subject to change.]

) Important

The pack and unpack commands are in public preview.


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.
The create command is generally available.

Commands
ノ Expand table

Command Description

pac canvas create Generate a canvas app from a custom connector

pac canvas download Download canvas app as .msapp file

pac canvas list List canvas apps

pac canvas pack (Preview) Pack sources into an msapp file

pac canvas unpack (Preview) Extract an msapp file into sources

pac canvas validate (Preview) Validate the .pa.yaml source for an unzipped msapp file

pac canvas create


Generate a canvas app from a custom connector

This command will generate an .msapp canvas app based on the OpenAPI definition of
an existing custom connector. The app will contain screens, control layout, and Power Fx
code generated based on how the actions of the custom connector are defined, with a
predefined look and feel. The app can be used to directly exercise the actions defined in
the custom connector.

Makers can import the generated .msapp into Power Apps Studio to play the app, or to
do edits and make further customizations. Import the generated app to Power Apps
Studio by navigating to File > Open > Browse within Studio.

Examples
The following examples show the use of the pac canvas create command.

Create a canvas app based on an Open API Definition by display name


Create a canvas app based on an Open API Definition by id

Create a canvas app based on an Open API Definition by display


name

This example creates a canvas app (as a *.msapp file) based on an Open API Definition
by using the display name of the connector.

PowerShell

pac canvas create --msapp HelloWorld.msapp --connector-display-name "My


Custom Connector"

Create a canvas app based on an Open API Definition by id


This example creates a canvas app (as a *.msapp file) based on an Open API Definition
by using the ID of the connector.

PowerShell

pac canvas create --msapp HelloWorld.msapp --connector-id 00000000-0000-


0000-0000-000000000000

Either connector-display-name or connector-id are required.

Required Parameters for canvas create

--msapp
Path to .msapp file to be generated

Optional Parameters for canvas create

--connector-display-name

The display name of the Connector to generate the Power App from.

--connector-id

The ID of the Connector to generate the Power App from.

--environment

The target Environment ID or URL. The default value is the environment of your
currently active Dataverse Auth Profile.

Remarks
Considerations and limitations:

The custom connector referenced with the connector-display-name or connector-


id parameters must be part of a Solution.

After importing the app to Studio, there will be no association to the custom
connector. The maker must manually add a reference to the custom connector
from which the app was generated before the app can be played. See Add data
connections to canvas apps for steps. Until this is done, you may see formula
errors in the app which will resolve once the connector reference is added. The
name of the custom connector you add to the app must match the display name
of the custom connector referenced in the canvas create command.
The app will contain one screen for each POST and GET action that the connector
defines.
Other verbs available in custom connectors are not supported.
The controls rendered on each action's screen are dynamically generated based on
how the input and output types of each action are defined. Certain types of input
and output defined in the custom connector are not supported by canvas create .
The command will generate warnings in the console when these are encountered.
Specific cases:
Arrays of objects and arrays of arrays are not supported as inputs
Controls are not generated for objects or nested arrays beyond a depth of 20
"File" and "binary format" types are not supported for input or output.

pac canvas download


Download canvas app as .msapp file

Required Parameters for canvas download

--name -n

Canvas app exact, partial name, or App ID

Optional Parameters for canvas download

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--extract-to-directory -d

Directory name to extract canvas app to

--file-name -f

File name (usually with .msapp extension). If not provided file is saved in current
directory with 'appname'.msapp

--overwrite -o

Allow file overwrite

This parameter requires no value. It's a switch.

pac canvas list


List canvas apps

Optional Parameters for canvas list


--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

pac canvas pack


(Preview) Pack sources into an msapp file

Example
PowerShell

pac canvas pack --sources MyHelloWorldFiles --msapp HelloWorld.msapp

Required Parameters for canvas pack

--msapp

Path to .msapp file

--sources

Directory to sources to be packed

Remarks
Creates an .msapp file from the previously unpacked source files. The result can be
opened in Power Apps Studio by navigating to File > Open > Browse.

After being unpacked, the source files can be edited and managed with external tools
such as Visual Studio Code and GitHub.

pac canvas unpack


(Preview) Extract an msapp file into sources

Example
PowerShell

pac canvas unpack --msapp HelloWorld.msapp --sources MyHelloWorldFiles

PowerShell

pac canvas unpack --msapp HelloWorld.msapp

Unpacks to default HelloWorld_src directory.

Required Parameters for canvas unpack

--msapp

Path to .msapp file

Optional Parameters for canvas unpack

--sources

Directory to sources to be unpacked

Remarks
Unpacks the .msapp source file.

Download the .msapp file from Power Apps Studio by navigating to File > Save as >
This computer.

If the sources parameter is not specified, a directory with the same name and location as
the .msapp file is used with _src suffix.

Folder structure
Unpack and pack properties use the following folder structure:

\src - Control and component files. This contains the sources.


*.fx.yaml - The formulas extracted from the control.json file.

7 Note
This is the place to edit your formulas.

CanvasManifest.json - A manifest file that contains the information normally


present in the header, properties, and publishInfo.
*.json - The raw control.json file.
\EditorState*.editorstate.json - Cached information for Power Apps Studio to
use.
\DataSources - All the data sources used by the app.
\Connections - Connection instances saved with the app and used when reloading
into Power Apps Studio.
\Assets - Media files embedded in the app.
\pkgs - A downloaded copy of external references, such as templates, API
definition files, and component libraries. These are similar to NuGet/NPM
references.
\other - All miscellaneous files needed to re-create the .msapp .
entropy.json - Volatile elements (like timestamps) are extracted to this file. This
helps reduce noisy differences in other files while ensuring that we can still
round-trip.
Holds other files from the msapp, such as what's in \references.

File format
The .fx.yaml files use a subset of YAML . Similar to Excel, all expressions should begin
with an equal sign = . More information: Power Fx YAML Formula Grammar

Merging changes with Power Apps Studio

When merging changes that are made in two different Power Apps Studio sessions:

Ensure that all the control names are unique. For example, inserting a button in
two different sessions can result in two Button1 controls. We recommend that you
name the controls soon after you create them. The tool doesn't accept two
controls with the same name.
For these files, merge them as you normally do:
\src*.fx.yaml
If there are conflicts or errors, you can delete these files:
\src\editorstate*.json - These files contain optional information in Power Apps
Studio.
\other\entropy.json
For any conflicts in these files, it's ok to accept the latest version:
\checksum.json
If there are any merge conflicts under these paths, it isn't safe to merge. Let us
know if this happens often; we'll work on restructuring the file format to avoid
conflicts.
\Connections*
\DataSources*
\pkgs*
CanvasManifest.json

Open source

The canvas commands in Microsoft Power Platform CLI are open source. Discuss
improvements, raise issues, and access the code from Power Apps language tooling
repository .

pac canvas validate


(Preview) Validate the .pa.yaml source for an unzipped msapp file

Required Parameters for canvas validate

--directory -d

Path to the extracted msapp directory containing .pa.yaml files to validate

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac catalog
Article • 03/26/2025

Commands for working with Catalog in Power Platform

Commands
ノ Expand table

Command Description

pac catalog create- Create catalog submission document. Note: This command will be
submission removed in a future release.

pac catalog install Install a catalog item to the target environment.

pac catalog list List all published catalog items from the current Dataverse
organization.

pac catalog status Get status of the catalog install/submit request.

pac catalog submit Submit catalog approval request.

pac catalog update Update settings for the catalog.

pac catalog create-submission


Create catalog submission document. Note: This command will be removed in a future
release.

Optional Parameters for catalog create-submission

--path -p

Path to catalog submission document

pac catalog install


Install a catalog item to the target environment.

Required Parameters for catalog install


--catalog-item-id -cid

Catalog item to be installed on the target environment.

Optional Parameters for catalog install

--environment -env

Url or ID of the environment that has catalog installed. When not specified, the active
organization selected for the current auth profile will be used.

--poll-status -ps

Poll to check status of your request

This parameter requires no value. It's a switch.

--settings -s

Runtime Package Settings for the installation framework to execute. The format of the
string must be key=value|key=value .

Note: The format of the string must be key=value|key=value .

--target-env -te

Url or ID of the target environment for catalog item installation

--target-url -tu

Deprecated: Use --target-env instead.

--target-version -tv

Target version to install. If left empty, the published version is selected.

pac catalog list


List all published catalog items from the current Dataverse organization.
Optional Parameters for catalog list

--catalog-item-id -cid

Catalog item ID to search for. When catalog item ID is used, catalog item name is
ignored.

--catalog-item-name -n

Catalog item name to search for.

--environment -env

Url or ID of the environment that has catalog installed. When not specified, the active
organization selected for the current auth profile will be used.

--include-active -ia

Include active items.

This parameter requires no value. It's a switch.

--json

Returns the output of the command as a JSON formatted string.

pac catalog status


Get status of the catalog install/submit request.

Required Parameters for catalog status

--tracking-id -id

Request tracking ID.

--type -t

Request type
Use one of these values:

Install

Submit

Optional Parameters for catalog status

--environment -env

Url or ID of the environment that has catalog installed. When not specified, the active
organization selected for the current auth profile will be used.

pac catalog submit


Submit catalog approval request.

Required Parameters for catalog submit

--path -p

Path to catalog submission document

Optional Parameters for catalog submit

--environment -env

Url or ID of the environment that has catalog installed. When not specified, the active
organization selected for the current auth profile will be used.

--package-zip -pz

Path to package zip file.

--poll-status -ps

Poll to check status of your request

This parameter requires no value. It's a switch.


--solution-zip -sz

Path to solution zip file.

pac catalog update


Update settings for the catalog.

Required Parameters for catalog update

--path -p

Path to catalog settings document

Optional Parameters for catalog update

--environment -env

Url or ID of the environment that has catalog installed. When not specified, the active
organization selected for the current auth profile will be used.

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac code
Article • 05/15/2025

(Preview) Commands to manage your Code apps.

Pac code commands support Power Apps capabilities that are only available in an early access
preview. You can request to participate in the the early access preview by signing up with the
following form: https://aka.ms/paCodeAppsEAP .

Commands
ノ Expand table

Command Description

pac code add-data-source (Preview) Adds a new datasource to the app.

pac code delete-data-source (Preview) Deletes a data source from the current app.

pac code init (Preview) Initializes a Code app in the current directory.

pac code push (Preview) Publishes a new version of a Code app.

pac code run (Preview) Runs a local server for connections loading locally in the app.

pac code add-data-source


(Preview) Adds a new datasource to the app.

Required Parameters for code add-data-source

--apiId -a

The api id of the datasource.

--connectionId -c

The connection id of the datasource.

Optional Parameters for code add-data-source


--dataset -d

The dataset name of the datasource.

--storedProcedure -sp

The stored procedure name to add (only supported for shared_sql).

--table -t

The table name of the datasource.

pac code delete-data-source


(Preview) Deletes a data source from the current app.

Required Parameters for code delete-data-source

--apiId -a

The api id of the datasource.

--dataSourceName -ds

The name of the data source to delete.

Optional Parameters for code delete-data-source

--storedProcedure -sp

The stored procedure name to remove from the app.

pac code init


(Preview) Initializes a Code app in the current directory.

Required Parameters for code init


--displayName -n

The display name of the Code app.

Optional Parameters for code init

--appUrl -a

The local url the app is running on.

--buildPath -b

The directory of your apps build assets.

--description -d

The description of the Code App.

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When not
specified, the active organization selected for the current auth profile will be used.

--fileEntryPoint -f

The entry point for the app to load from.

--logoPath -l

The path to the logo file for the app.

pac code push


(Preview) Publishes a new version of a Code app.

pac code run


(Preview) Runs a local server for connections loading locally in the app.
Optional Parameters for code run

--appUrl -a

The local url the app is running on.

--port -p

The port to run the local server on.

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview
pac connection
Article • 03/26/2025

Commands for working with Dataverse connection.

Commands
ノ Expand table

Command Description

pac connection create Create new Dataverse connection.

pac connection delete Delete Dataverse connection.

pac connection list List all Connections.

pac connection update Update Dataverse connection.

pac connection create


Create new Dataverse connection.

Required Parameters for connection create

--application-id -a

Application Id

--client-secret -cs

Client Secret

--name -n

Connection name.

--tenant-id -t

Tenant Id
Optional Parameters for connection create

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

pac connection delete


Delete Dataverse connection.

Required Parameters for connection delete

--connection-id -id

Connection Id.

Optional Parameters for connection delete

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

pac connection list


List all Connections.

Optional Parameters for connection list

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

pac connection update


Update Dataverse connection.
Required Parameters for connection update

--application-id -a

Application Id

--client-secret -cs

Client Secret

--connection-id -id

Connection Id.

--tenant-id -t

Tenant Id

Optional Parameters for connection update

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac connector
Article • 03/26/2025

Commands for working with Power Platform Connectors

Commands
ノ Expand table

Command Description

pac connector create Creates a new row in the Connector table in Dataverse.

pac connector download Download a Connector's OpenApiDefinition and API Properties file

pac connector init Initializes a new API Properties file for a Connector.

pac connector list List the Connectors registered in Dataverse.

pac connector update Updates a Connector Entity in Dataverse.

pac connector create


Creates a new row in the Connector table in Dataverse.

Examples
The following examples show the use of the pac connector create command.

Basic connector creation in current environment


Basic connector creation in specified environment

Basic connector creation in current environment

This example creates a connector in the environment of your currently active auth
profile.

PowerShell

pac connector create `


--api-definition-file ./apiDefinition.json `
--api-properties-file ./apiProperties.json
Basic connector creation in specified environment
This example creates a connector in the specified environment.

PowerShell

pac connector create `


--api-definition-file ./apiDefinition.json `
--api-properties-file ./apiProperties.json
--environment 00000000-0000-0000-0000-000000000000

Optional Parameters for connector create

--api-definition-file -df

The filename and path to read the Connector's OpenApiDefinition.

--api-properties-file -pf

The filename and path to read the Connector's API Properties file.

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--icon-file -if

The filename and path to and Icon .png file.

--script-file -sf

The filename and path to a Script .csx file.

--settings-file

The filename and path Connector Settings file.

--solution-unique-name -sol

The unique name of the solution to add the connector to


pac connector download
Download a Connector's OpenApiDefinition and API Properties file

Examples
The following examples show the use of the pac connector download command.

Basic connector download


Basic connector download from specified environment
Basic connector download from specified environment to the specified directory

Basic connector download

This example downloads the specified connector to the current directory.

PowerShell

pac connector download `


--connector-id 00000000-0000-0000-0000-000000000000

Basic connector download from specified environment

This example downloads the specified connector from the specified environment to the
current directory.

PowerShell

pac connector download `


--connector-id 00000000-0000-0000-0000-000000000000 `
--environment 00000000-0000-0000-0000-000000000000

Basic connector download from specified environment to the


specified directory
This example downloads the specified connector from the specified environment to the
specified directory.

PowerShell

pac connector download `


--connector-id 00000000-0000-0000-0000-000000000000 `
--environment 00000000-0000-0000-0000-000000000000 `
--outputDirectory "contoso_Connector"

Required Parameters for connector download

--connector-id -id

The ID of the Connector

Note: The Connector ID must be a valid Guid.

Optional Parameters for connector download

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--outputDirectory -o

Output directory

pac connector init


Initializes a new API Properties file for a Connector.

Example
The following example shows the use of the pac connector init command.

Connector init with output directory and connection template for


Microsoft Entra ID OAuth authentication

This example initializes a connector in the current directory.

PowerShell

pac connector init `


--connection-template "OAuthAAD" `
--generate-script-file `
--generate-settings-file `
--outputDirectory "contoso_Connector"

Optional Parameters for connector init

--connection-template -ct

Generate an initial Connection Parameters set with the specified template.

Use one of these values:

NoAuth

BasicAuth
ApiKey

OAuthGeneric

OAuthAAD

--generate-script-file

Generate an initial Connector Script file

This parameter requires no value. It's a switch.

--generate-settings-file

Generate an initial Connector Settings file

This parameter requires no value. It's a switch.

--outputDirectory -o

Output directory

pac connector list


List the Connectors registered in Dataverse.

Examples
The following examples show the use of the pac connector list command.
List connectors in current environment
List connectors in specified environment

List connectors in current environment

This example lists all the connectors in the environment of your currently active auth
profile.

PowerShell

pac connector list

List connectors in specified environment


This example lists all the connectors in the specified environment.

PowerShell

pac connector list `


--environment 00000000-0000-0000-0000-000000000000

Optional Parameters for connector list

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--json

Returns the output of the command as a JSON formatted string.

Remarks
Only solution-aware connectors are shown. When your connector isn't in this
command's response, it's probably because of the fact that your connector isn't
solution-aware.

pac connector update


Updates a Connector Entity in Dataverse.

Examples
The following examples show the use of the pac connector update command.

Basic connector update in current environment


Basic connector update in specified environment

Basic connector update in current environment

This example updates a connector in the environment of your currently active auth
profile.

PowerShell

pac connector update `


--api-definition-file ./apiDefinition.json

Basic connector update in specified environment


This example updates a connector in the specified environment.

PowerShell

pac connector update `


--api-definition-file ./apiDefinition.json `
--environment 00000000-0000-0000-0000-000000000000

Optional Parameters for connector update

--api-definition-file -df

The filename and path to read the Connector's OpenApiDefinition.

--api-properties-file -pf

The filename and path to read the Connector's API Properties file.

--connector-id -id
The ID of the Connector

Note: The Connector ID must be a valid Guid.

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--icon-file -if

The filename and path to and Icon .png file.

--script-file -sf

The filename and path to a Script .csx file.

--settings-file

The filename and path Connector Settings file.

--solution-unique-name -sol

The unique name of the solution to add the connector to

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac copilot
Article • 03/26/2025

Tools and utilities for copilot management

Commands
ノ Expand table

Command Description

pac copilot create Creates a new copilot using an existing template file as the reference.

pac copilot extract- Extracts a template file from an existing copilot in an environment.
template

pac copilot extract- Extracts file containing localized content for one or more bots.
translation

pac copilot list List of copilots in the current or target Dataverse environment.

pac copilot merge- Merge files containing localized content for one or more bots.
translation

pac copilot model list AI Builder models in the current environment.

pac copilot model Sends text or prompt to AI Model


predict

pac copilot model Takes the FetchXML file from the AI Large Language Model (LLM) and
prepare-fetch prepares it for execution against the current environment.

pac copilot publish Publish a Custom Copilot

pac copilot status Poll the deployment status of a specified copilot in the current or target
Dataverse environment.

pac copilot create


Creates a new copilot using an existing template file as the reference.

Required Parameters for copilot create

--displayName
The display name of the new copilot

--schemaName

The schema name (unique name) of the new copilot.

--solution -s

Name of the solution.

--templateFileName

Source yaml file containing the copilot template that was extracted using the extract-
template command.

Optional Parameters for copilot create

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

pac copilot extract-template


Extracts a template file from an existing copilot in an environment.

Example
This command extracts a template file from an existing copilot in an environment.

PowerShell

pac copilot extract-template `


--environment 2e250e7a-5607-4fea-aa4e-1aeb7bf79118 `
--bot 9ee3f7aa-ab79-4cf6-a726-d85c8c18cc3e `
--templateFileName NewTestCopilot.yaml

The command returns output like the following for a copilot using the English and
German languages:

Text
Connected as user@contoso.org

Loaded 34 components for bot 'New Test Copilot ' with id 9ee3f7aa-ab79-4cf6-
a726-d85c8c18cc3e. Primary language: English, supported languages: German

New Test Copilot -> C:\Users\user\NewTestCopilot.yaml

Required Parameters for copilot extract-template

--bot -id

The Copilot ID or schema name (unique name found in Bot Details or file name in
solution explorer).

--templateFileName

Location of the yaml file to write the copilot template to.

Optional Parameters for copilot extract-template

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--overwrite -o

Allow overwrite of the output data file if it already exists.

This parameter requires no value. It's a switch.

--templateName

Template name or 'kickStartTemplate' if name is not specified.

--templateVersion

Template version in X.X.X format or 1.0.0 if version is not specified.


pac copilot extract-translation
Extracts file containing localized content for one or more bots.

Example
This command extracts a file containing localized content for one or more copilots.

PowerShell

pac copilot extract-translation `


--environment 2e250e7a-5607-4fea-aa4e-1aeb7bf79118 `
--bot 9ee3f7aa-ab79-4cf6-a726-d85c8c18cc3e `
--all `
--outdir . `
--format json

The command returns output like the following:

Text

Connected as user@contoso.org

Loaded 32 components for bot 'New Test Copilot' with id 9ee3f7aa-ab79-4cf6-


a726-d85c8c18cc3e. Primary language: English, supported languages: German

Optional Parameters for copilot extract-translation

--all -a

Write localization files for all supported languages. By default, only the primary
language is written.

This parameter requires no value. It's a switch.

--bot -id

The Copilot ID or schema name (unique name found in Bot Details or file name in
solution explorer).

--environment -env
Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--format

The file format in which to write localized files, either 'resx' or 'json'. The default is 'resx'.

--outdir

The output directory to write to.

--overwrite -o

Allow overwrite of the output data file if it already exists.

This parameter requires no value. It's a switch.

--sourcedir -src

Source solution directory. When specified, will ignore the connected environment when
looking for bots and instead look for content in the solution folder.

pac copilot list


List of copilots in the current or target Dataverse environment.

Example
This command lists all copilots in the current or target Dataverse environment.

PowerShell

pac copilot list --environment 2e250e7a-5607-4fea-aa4e-1aeb7bf79118

The command returns output like the following:

Text

Name Bot ID
Component State Is Managed Solution ID Status Code
State Code
Ask Me Anything Copilot 584e012c-dc95-46d6-af5a-1263b6a44342 Published
Unmanaged 285af946-6383-49a0-8615-4e2afafeaf38 Active Provisioned
New Test Copilot 9ee3f7aa-ab79-4cf6-a726-d85c8c18cc3e
Published Unmanaged 285af946-6383-49a0-8615-4e2afafeaf38 Active
Provisioned

Optional Parameters for copilot list

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

pac copilot merge-translation


Merge files containing localized content for one or more bots.

Example
This command merges files containing localized content for one or more copilots.

PowerShell

pac copilot merge-translation `


--environment 2e250e7a-5607-4fea-aa4e-1aeb7bf79118 `
--file ms_store_newTestCopilot.de-DE.json `
--solution SolutionName

The command returns output like the following when updating the German language:

Text

Connected as user@contoso.org

Loading language German into bot 'ms_store_newTestCopilot' (New Test


Copilot) from file 'C:\Users\user\ms_store_newTestCopilot'. 0 key(s) were
missing, 0 value(s) were not used. Use the --verbose switch to get more
details.

Updated 16 out of 16 components.

Learn about how to manage errors from the merge-translation command

Optional Parameters for copilot merge-translation


--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--file -f

The list of files that contain translations. Glob patterns are supported.

--solution -s

Name of the solution.

--sourcedir -src

Source solution directory. When specified, will ignore the connected environment when
looking for bots and instead look for content in the solution folder.

--verbose

Output more diagnostic information during data import/export

This parameter requires no value. It's a switch.

--whatif

Does not execute the command, but outputs the details of what would happen.

This parameter requires no value. It's a switch.

merge-translation errors
Based on the example above, if one error exists in the file used to update the copilot,
the output looks like:

Text

Connected as user@contoso.org

Loading language German into bot 'ms_store_newTestCopilot' (New Test


Copilot) from file 'C:\Users\user\ms_store_newTestCopilot'. 1 key(s) were
missing, 1 value(s) were not used. Use the --verbose switch to get more
details.
Updated 16 out of 16 components.

The --verbose flag adds details about the error:

Text

Connected as user@contoso.org

Missing translation key:


'dialog(ms_store_newTestCopilot.topic.Lesson2)'.'trigger(main)'.'action(LbWw
pD)'.Entity.Definition.'closedListItem(Redmond)'.DisplayName.

Unused translation:
'dialog(ms_store_newTestCopilot.topic.Lesson2)'.'trigger(main)'.'action(LbWw
pD)'.Entity.Definition.'closedListItem(Redmont)'.DisplayName, value: Redmond

Loading language German into bot 'ms_store_newTestCopilot' (New Test


Copilot) from file 'C:\Users\user\ms_store_newTestCopilot'. 1 key(s) were
missing, 1 value(s) were not used. Use the --verbose switch to get more
details.

Updated 16 out of 16 components.

pac copilot model list


AI Builder models in the current environment.

Example
This command lists all AI Builder models.

PowerShell

pac copilot model list --environment 2e250e7a-5607-4fea-aa4e-1aeb7bf79118

The command returns output like the following:

Text

Id State Name
32a9e265-1149-4155-af54-d2856d2b83f5 Active Document Processing
2023/09/20, 12:21:40
2bcd7b94-50bc-4767-af4a-367c63fb5487 Inactive AI Classify
4e72b59a-17d6-451e-8657-89fbdec56d7a Inactive AI Extract
572f57a7-7a8f-49fc-adb4-331e02c509a6 Inactive AI Reply
b9b636cf-9748-47a7-b617-6df5f00f5151 Inactive AI Sentiment
c076eac8-f218-4feb-8ad1-7ee4fb039419 Inactive AI Summarize
a0440df3-2656-e911-8194-000d3a6cd5a5 Inactive BusinessCard model
62d1e848-5ca7-490a-94bf-79baabe85ef4 Inactive CategoryClassification model
4da7ec17-5c26-4fd2-9ddb-be4f7eda21a9 Inactive
DataGenieEmailAddressValidation
51f4da11-5702-401d-b53a-9638744e8ac9 Inactive Document Layout Analysis Model
d1bb8d57-24ab-3b36-9592-bd792e153b79 Inactive DVCopilotQueryModel
3fbd4e5c-32bc-40fc-acce-59c2821cf113 Inactive Empty Dynamic Prompt
8c281981-c5d6-484f-bac7-4924ddd0b8ae Inactive EntityExtraction model
a1afa5d4-7a44-4c31-9cd2-e852a78431fa Inactive GptPromptEngineering model
2c444168-f8b1-4c6a-9313-2d9c03be6fea Inactive Id Scanning Model
77365cfa-7021-4cb7-a9b2-dc9823cde772 Inactive ImageDescription model
aef1bdd2-2a74-4f74-b4eb-9dfa22e35ded Inactive Invoice Model
5ed4d0fd-e9d4-4026-b09b-71f83ea90c60 Inactive Invoice Processing Model
c8425db7-c5a7-4226-b38e-c93a044c0fe1 Inactive KeyPhraseExtraction model
17a6f893-5b0b-4867-8fac-fb2eda9080b2 Inactive LanguageDetection model
046ab801-2756-e911-8194-000d3a6cd5a5 Inactive ObjectDetectionProposal model
892d3698-ba03-3d15-8e9e-843ca4ac5e7d Inactive PowerAppsAppCopilotModel
baa44529-bebe-49e6-837a-80bee63b0d2c Inactive Receipt Scanning Model
f1c549c2-a97e-47a5-b612-c5c2bab0f163 Inactive SentimentAnalysis model
7f8a7856-003a-3662-9871-0000d7674433 Inactive SimsModel
86419a67-205a-454f-b6fc-601394f2786d Inactive TextRecognition model
6225038a-8b5a-4913-bfd2-d8236f4102ba Inactive TextTranslation model
02e1fca3-232a-4f58-8c93-bdd8c9cd6de9 Inactive TextTranslationInternal model

Optional Parameters for copilot model list

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

pac copilot model predict


Sends text or prompt to AI Model

Optional Parameters for copilot model predict

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--model-id -id
AI Builder model Id

--model-name -n

Full or partial AI Model name

--prompt -p

Prompt to send to AI Model

--text -t

Text to send to AI Model

pac copilot model prepare-fetch


Takes the FetchXML file from the AI Large Language Model (LLM) and prepares it for
execution against the current environment.

Required Parameters for copilot model prepare-fetch

--inputFile -i

Input FetchXML file that usually comes from AI LLM.

--outputFile -o

Output FetchXML file that is ready to execute against the current environment.

Optional Parameters for copilot model prepare-fetch

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

pac copilot publish


Publish a Custom Copilot
Required Parameters for copilot publish

--bot -id

The Copilot ID or schema name (unique name found in Bot Details or file name in
solution explorer).

Optional Parameters for copilot publish

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

pac copilot status


Poll the deployment status of a specified copilot in the current or target Dataverse
environment.

Example
This command polls the deployment status of a specified copilot in the current or target
Dataverse environment.

PowerShell

pac copilot status `


--environment 2e250e7a-5607-4fea-aa4e-1aeb7bf79118 `
--bot-id 9ee3f7aa-ab79-4cf6-a726-d85c8c18cc3e

The command returns output like the following:

Text

Connected as user@contoso.org
Connected to... Contoso Organization
Virtual Agent New Bot German with ID 9ee3f7aa-ab79-4cf6-a726-d85c8c18cc3e
has been provisioned.

Required Parameters for copilot status


--bot-id -id

The ID of a copilot (Chatbot).

Optional Parameters for copilot status

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac data
Article • 03/26/2025

Import and export data from Dataverse.

7 Note

These commands are intend to handle configuration data. They are not suitable for
large volumes of data. These commands use the Configuration Migration tool and
the same limitations and recommendations apply.

These commands are only available for the .NET Full Framework version of the PAC
CLI.

Commands
ノ Expand table

Command Description

pac data export Export data

pac data import Import data

pac data export


Export data

Required Parameters for data export

--schemaFile -sf

Schema file name. It can be created using the Configuration Migration Tool.

Optional Parameters for data export

--dataFile -df
File name for data zip file. Default data.zip

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--overwrite -o

Allow overwrite of the output data file if it already exists.

This parameter requires no value. It's a switch.

--verbose -v

Output more diagnostic information during data import/export

This parameter requires no value. It's a switch.

pac data import


Import data

Required Parameters for data import

--data -d

Zip file or directory name with data for import.

Optional Parameters for data import

--connection-count -c

Number of parallel connections to use during import. Default: 5

--dataDirectory -dd

Deprecated: This parameter is ignored.


--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--verbose -v

Output more diagnostic information during data import/export

This parameter requires no value. It's a switch.

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac env
Article • 03/27/2025

Work with your Dataverse organization.

7 Note

With pac cli version 1.32, the pac org command was changed to pac env . org will
continue to work, but we recommend using env going forward.

Commands
ノ Expand table

Command Description

pac env fetch Performs FetchXML query against Dataverse

pac env list List all Dataverse environments from Global Discovery Service (GDS).

pac env list-settings List environment settings

pac env select Select default organization for current authentication profile.

pac env update-settings Update environment settings

pac env who Displays information about the current Dataverse organization.

pac env fetch


Performs FetchXML query against Dataverse

Optional Parameters for env fetch

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--xml -x
FetchXML query to run

--xmlFile -xf

File with FetchXML query to run

pac env list


List all Dataverse environments from Global Discovery Service (GDS).

Example
PowerShell

pac env list --filter myenv

The filter parameter is a regular expression based filter.

Optional Parameters for env list

--filter -f

Show only environments containing filter criteria.

pac env list-settings


List environment settings

Example
PowerShell

C:\Users\you>pac env list-settings --filter number


Connected as you@yourorg.com
Setting Value
currentbulkoperationnumber 1,000
currentcampaignnumber 1,000
currentcasenumber 1
currentcategorynumber 1,000
currentcontractnumber 1,000
currentimportsequencenumber 1
currentinvoicenumber 1,000
currentkanumber 1,000
currentkbnumber 1,000
currentordernumber 1,000
currentparsedtablenumber 1
currentquotenumber 1,000
maximumtrackingnumber 999
nexttrackingnumber 0
numberformat us
numbergroupformat 3
numberseparator ,
recurrencedefaultnumberofoccurrences 10
showweeknumber No
timezoneruleversionnumber 0
versionnumber 19,810,412

Optional Parameters for env list-settings

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--filter -f

Show only settings containing filter criteria

Remarks
Each environment has an Organization table with a single row that stores settings for
the environment.

Unless you apply the --filter parameter, this command returns all the columns from
the first and only row of the organization entity type.

Use the pac env update-settings command to change the values for some of these
settings.

Learn more about reading and updating environment settings

pac env select


Select default organization for current authentication profile.
Examples
The following examples show the use of the pac env select command.

Select env by using environment URL


Select env by using environment ID

Select env by using environment URL


This example shows how to select an env by using an environment URL.

PowerShell

pac env select --environment "https://contosotest.crm.dynamics.com"

Select env by using environment ID


This example shows how to select an env by using an environment ID.

PowerShell

pac env select --environment 00000000-0000-0000-0000-000000000000

Optional Parameters for env select

--environment -env

Default environment (ID, url, unique name, or partial name).

pac env update-settings


Update environment settings

Required Parameters for env update-settings

--name -n

Name of the setting to update


Optional Parameters for env update-settings

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--value -v

Value to which setting should be updated to

Remarks
The pac env list-settings command returns all the columns from the first and only row of
the organization entity type. Use pac env update-settings to change those settings.

Learn more about reading and updating environment settings

pac env who


Displays information about the current Dataverse organization.

Optional Parameters for env who

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--json

Returns the output of the command as a JSON formatted string.

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview
Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac help
Article • 03/26/2025

Show help for the Microsoft Power Platform CLI.

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac modelbuilder
Article • 03/26/2025

Code Generator for Dataverse APIs and Tables

Use the pac modelbuilder build command to generate early-bound .NET classes for
Dataverse tables, custom messages, and a class that is derived from the
OrganizationServiceContext Class. Learn more about using this command to generate
early bound classes

The class derived from OrganizationServiceContext:

Maintains state on the client to support features such as change management.


Implements the System.Linq.IQueryable Interface and a .NET Language-Integrated
Query (LINQ) query provider so you can write LINQ queries using Dataverse data.

For more information about the capabilities that this code generation tool enables:

Late-bound and early-bound programming using the Organization service


Use OrganizationServiceContext
Build queries with LINQ

7 Note

The pac modelbuilder build command replaces the CrmSvcUtil.exe distributed


with the Microsoft.CrmSdk.CoreTools NuGet package.

Commands
ノ Expand table

Command Description

pac modelbuilder build Builds a code model for Dataverse APIs and Tables

pac modelbuilder build


Builds a code model for Dataverse APIs and Tables

7 Note
Before you can use the build command you must first connect to Dataverse using
the pac auth create command. If you have multiple connections, use the pac auth
select to choose the Dataverse environment you want to generate code for.

Example
The following example shows how to use the build command with a command prompt.

dos

pac modelbuilder build ^


--entitynamesfilter account;contact ^
--generatesdkmessages ^
--messagenamesfilter examp_* ^
--emitfieldsclasses ^
--emitVirtualAttributes ^
--namespace MyApps.Model ^
--outdirectory c:\src\MyApps\Model ^
--writesettingsTemplateFile ^
--serviceContextName OrgContext

And the same command using PowerShell:

PowerShell

pac modelbuilder build `


--entitynamesfilter 'account;contact' `
--generatesdkmessages `
--messagenamesfilter 'examp_*' `
--emitfieldsclasses `
--emitVirtualAttributes `
--namespace 'MyApps.Model' `
--outdirectory 'c:\src\MyApps\Model' `
--writesettingsTemplateFile `
--serviceContextName 'OrgContext'

) Important

You need to surround any string parameters with single quotes when using
PowerShell.

The result of this command is that the following files are written to the
c:\src\MyApps\Model folder.
C:\src\MyApps\Model\
|---Entities\
| |--account.cs
| |--contact.cs
|---OptionSets\
| |--addresstypes.cs
|---Messages\
| |--examp_myapi.cs
|---EntityOptionSetEnum.cs
|---builderSettings.json
|---OrgContext.cs

builderSettings.json contains the parameters you specified for the command. You can use
it to quickly regenerate the files as things change. The following example shows using
the generated buildersettings.json file from the first command using the
settingsTemplateFile:

PowerShell

pac modelbuilder build `


--outdirectory c:\src\MyApps\Model `
--settingsTemplateFile c:\src\MyApps\Model\builderSettings.json

You can also choose to create a builderSettings.json file and use that instead of
passing all the parameters to the command. The following is an example that is
equivalent to the first example above:

JSON

{
"suppressINotifyPattern": false,
"suppressGeneratedCodeAttribute": false,
"language": "CS",
"namespace": "MyApps.Model",
"serviceContextName": "OrgContext",
"generateSdkMessages": true,
"generateGlobalOptionSets": false,
"emitFieldsClasses": true,
"entityTypesFolder": "Entities",
"messagesTypesFolder": "Messages",
"optionSetsTypesFolder": "OptionSets",
"entityNamesFilter": [
"account",
"contact"
],
"messageNamesFilter": [
"examp_*"
],
"emitEntityETC": false,
"emitVirtualAttributes": true
}

If you pass parameters to the command while using the settingsTemplateFile parameter,
the parameters passed to the command will override those set in the
builderSettings.json file.

You can't use the settingsTemplateFile parameter and the writesettingsTemplateFile


parameter at the same time.

Required Parameters for modelbuilder build

--outdirectory -o

Write directory for entity, message, and optionset files.

Optional Parameters for modelbuilder build

--emitentityetc -etc

When set, includes the entity ETC ( entity type code ) in the generated code.

This parameter requires no value. It's a switch.

--emitfieldsclasses -efc

Generate a constants structure that contains all of the field names by entity at the time
of code generation.

This parameter requires no value. It's a switch.

--emitvirtualattributes -eva

When set, includes supporting name attributes for lookups that enable filtering on the
primary name attribute values of lookup attributes.

This parameter requires no value. It's a switch.

--entitynamesfilter -enf
Filters the list of entities are retrieved when reading data from Dataverse. Passed in as a
semicolon separated list. Using the form <entitylogicalname>;<entitylogicalname>

--entitytypesfolder -etf

Folder name that contains entities. The default name is 'Entities'.

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--generateGlobalOptionSets -go

Emit all Global OptionSets. Note: If an entity contains a reference to a global optionset,
it is emitted even if this switch is not present.

--generatesdkmessages -a

When set, emits Sdk message classes as part of code generation.

This parameter requires no value. It's a switch.

--language -l

The language to use for the generated proxy code. This value can be either 'CS' or 'VB'.
The default language is 'CS'.

--logLevel -ll

Log level. The default value is 'Off'.

Use one of these values:

Off

Critical

Error
Warning

Information
Verbose

ActivityTracing
All

--messagenamesfilter -mnf

Filters the list of messages that are retrieved when reading data from Dataverse. Passed
in as a semicolon separated list, required messages (Create, Update, Delete, Retrieve,
RetrieveMultiple, Associate and Disassociate) are always included. Use a trailing or
leading asterisk (*) with the names of the messages to allow for all messages starting
with or ending with a string. Using the form <messagename>;<messagename>.

--messagestypesfolder -mtf

Folder name that contains messages. The default name is 'Messages'.

--namespace -n

The namespace for the generated code. The default namespace is the global
namespace.

--optionsetstypesfolder -otf

Folder name that contains option sets. The default name is 'OptionSets'.

--serviceContextName -sctx

The name for the generated service context. If a value is passed in, it's used for the
Service Context. If not, no Service Context is generated.

--settingsTemplateFile -stf

Contains Settings to be used for this run of the Dataverse Model Builder, overrides any
duplicate parameters on command line. Can't be set when --writesettingstemplate is
used.

--suppressGeneratedCodeAttribute -sgca

When set, this suppress all generated objects being tagged with the code generation
engine and version

This parameter requires no value. It's a switch.


--suppressINotifyPattern

When enabled, doesn't write the INotify wrappers for properties and classes.

--writesettingsTemplateFile -wstf

When set, writes a settings file out to the output directory with the current passed
settings or default settings.

Remarks
The following are recommendations for using the pac modelbuilder build command.

Set the entitynamesfilter and messagenamesfilter parameters

U Caution

We strongly recommend that you use the entitynamesfilter and


messagenamesfilter parameters to limit the generated files to those you will use in
your project. Otherwise, the build command will attempt to generate code for all
tables and messages from Dataverse. This will take a significant amount of time to
process.

Classes for the messages found in the Microsoft.Crm.Sdk.Messages and


Microsoft.Xrm.Sdk.Messages namespace are not generated using this command. You
should only include messages not found there in the messagenamesfilter parameter,
such as custom actions.

Set suppressINotifyPattern if you aren't building a WPF application


The INotify wrappers that are suppressed by this command are used for databinding
scenarios with WPF applications. If you aren't building a WPF application with the
generated code, you don't need them. Use the suppressINotifyPattern parameter to
suppress them.

Include serviceContextName when generating message classes


If you are generating message classes, you should always include the
serviceContextName parameter to generate a OrganizationServiceContext, even if you
aren't using it. The generated message classes require a property set in this file. Learn
more about the error that occurs if you don't set this.

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac package
Article • 03/26/2025

Commands for working with Dataverse package projects

Commands
ノ Expand table

Command Description

pac package add- Adds a package that is external to the Dataverse solution system to a
external-package Package Deployer Package project.

pac package add- Adds reference to Dataverse solution project


reference

pac package add-solution Adds a prebuilt Dataverse solution file to a Package Deployer
Package project.

pac package deploy Deploys package to Dataverse

pac package init Initializes a directory with a new Dataverse package project

pac package show Shows details of Dataverse package

pac package add-external-package


Adds a package that is external to the Dataverse solution system to a Package Deployer
Package project.

Required Parameters for package add-external-package

--package-type -t

The type of the package being added. For example: 'xpp' for FnO packages.

--path -p

Path to the external package


Optional Parameters for package add-external-package

--import-order

A whole number that indicates the order to insert this item into the final
ImportConfig.xml file at build time. Negative numbers are inserted before existing
elements. Positive numbers are added after existing elements.

--skip-validation -sv

Adds the item to the project file even if the file doesn't exist or appears to be invalid.
Note: Using this doesn't affect any validation performed by MSBuild.

This parameter requires no value. It's a switch.

pac package add-reference


Adds reference to Dataverse solution project

Example
PowerShell

pac package add-reference --path c:\Users\Downloads\SampleSolution

Required Parameters for package add-reference

--path -p

The path to the referenced Dataverse solution project

Optional Parameters for package add-reference

--dependency-overrides

A semicolon delimited list of overrides. This value overrides any dependency information
encoded in the solution's metadata. Each override should be in the format:
<uniquename>:<minVersion>:<maxVersion> . Where minVersion and maxVersion are

optional but should be in .NET version format syntax.


Note: Use a semicolon delimited list of dependency overrides of the format
<uniquename>:<minVersion>:<maxVersion>.

--import-mode

Explicitly specifies the required mode when importing this solution.

Use one of these values:

sync
async

--import-order

A whole number that indicates the order to insert this item into the final
ImportConfig.xml file at build time. Negative numbers are inserted before existing
elements. Positive numbers are added after existing elements.

--missing-dependency-behavior

Specifies the behavior on import when a dependency of this solution is missing from the
target environment.

Use one of these values:

skip

fault

--overwrite-unmanaged-customizations

Explicitly indicates whether to overwrite unmanaged customizations when this solution


is imported.

Use one of these values:

true
false

--publish-workflows-activate-plugins

Explicitly indicates whether to publish the workflows and activate plug-ins when this
solution is imported.
Use one of these values:

true

false

pac package add-solution


Adds a prebuilt Dataverse solution file to a Package Deployer Package project.

Required Parameters for package add-solution

--path -p

Path to the Dataverse solution file. The file must be a compressed ZIP file.

Optional Parameters for package add-solution

--dependency-overrides

A semicolon delimited list of overrides. This value overrides any dependency information
encoded in the solution's metadata. Each override should be in the format:
<uniquename>:<minVersion>:<maxVersion> . Where minVersion and maxVersion are

optional but should be in .NET version format syntax.

Note: Use a semicolon delimited list of dependency overrides of the format


<uniquename>:<minVersion>:<maxVersion>.

--import-mode

Explicitly specifies the required mode when importing this solution.

Use one of these values:

sync

async

--import-order

A whole number that indicates the order to insert this item into the final
ImportConfig.xml file at build time. Negative numbers are inserted before existing
elements. Positive numbers are added after existing elements.

--missing-dependency-behavior

Specifies the behavior on import when a dependency of this solution is missing from the
target environment.

Use one of these values:

skip
fault

--overwrite-unmanaged-customizations

Explicitly indicates whether to overwrite unmanaged customizations when this solution


is imported.

Use one of these values:

true

false

--publish-workflows-activate-plugins

Explicitly indicates whether to publish the workflows and activate plug-ins when this
solution is imported.

Use one of these values:

true

false

--skip-validation -sv

Adds the item to the project file even if the file doesn't exist or appears to be invalid.
Note: Using this doesn't affect any validation performed by MSBuild.

This parameter requires no value. It's a switch.

pac package deploy


Deploys package to Dataverse
7 Note

This command is only available for the .NET Full Framework version of the PAC CLI.

Example
PowerShell

pac package deploy --logFile c:\samplelogdata --package c:\samplepackage

Optional Parameters for package deploy

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--logConsole -c

Output log to console

This parameter requires no value. It's a switch.

--logFile -lf

Log file path

--package -p

Path to a package dll or zip file with a package.

--settings -s

Runtime Package Settings that are passed to the package that is being deployed. The
format of the string must be key=value|key=value .

Note: The format of the string must be key=value|key=value .

--solution -sz
Path to the Dataverse solution file. The file must be a compressed ZIP or CAB file.

--verbose -vdbg

Emit verbose logs to the log outputs.

This parameter requires no value. It's a switch.

Remarks
You can use both logFile and logConsole parameters together, or use one parameter
or the other.

pac package init


Initializes a directory with a new Dataverse package project

Example
PowerShell

pac package init --outputdirectory c:\samplepackage

Optional Parameters for package init

--outputDirectory -o

Output directory

--package-name

Sets the default name of the package. Applies to the generation of


ImportExtension.GetNameOfImport.

pac package show


Shows details of Dataverse package

7 Note
This command is only available for the .NET Full Framework version of the PAC CLI.

Example
PowerShell

pac package show c:\samplepackage.dll

Required Parameters for package show

--package -p

Path to a package dll or zip file with a package.

Optional Parameters for package show

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--logFile -lf

Log file path

--verbose -vdbg

Emit verbose logs to the log outputs.

This parameter requires no value. It's a switch.

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac pages
Article • 03/26/2025

Commands for working with Power Pages website.

7 Note

With pac cli version 1.32, the pac powerpages command was changed to pac pages .
With pac cli version 1.27, the pac paportal command was changed to pac
powerpages . Both powerpages and paportal will continue to work, but we

recommend using pages going forward.

See the following resources about using Power Platform CLI with Power Pages:

Portals support for Microsoft Power Platform CLI


Tutorial: Use Microsoft Power Platform CLI with portals
Use the Visual Studio Code extension

Commands
ノ Expand table

Command Description

pac pages bootstrap- Migrates HTML code from bootstrap V3 to V5.


migrate

pac pages download Download Power Pages website content from the current Dataverse
environment.

pac pages list List all Power Pages websites from the current Dataverse
environment.

pac pages migrate- Manage data model migration for your Power Pages website.
datamodel

pac pages upload Upload Power Pages website content to current Dataverse
environment.

pac pages bootstrap-migrate


Migrates HTML code from bootstrap V3 to V5.
Required Parameters for pages bootstrap-migrate

--path -p

Path of website content.

pac pages download


Download Power Pages website content from the current Dataverse environment.

Example
PowerShell

pac pages download --path "C:\portals" --webSiteId f88b70cc-580b-4f1a-87c3-


41debefeb902 --modelVersion 2

Required Parameters for pages download

--path -p

Path where the Power Pages website content is downloaded

--webSiteId -id

Power Pages website ID to download

Optional Parameters for pages download

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--excludeEntities -xe

Comma separated list of entity logical names to exclude downloading


--includeEntities -ie

Download only the entities specified for this argument using comma separated entity
logical names.

--modelVersion -mv

Power Pages website data model version to download. When not specified, 'Standard'
will be used. [Enhanced or Standard]

--overwrite -o

Power Pages website content to overwrite

This parameter requires no value. It's a switch.

Remarks
More information: Download portals content

pac pages list


List all Power Pages websites from the current Dataverse environment.

Optional Parameters for pages list

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--verbose -v

Enables verbose mode to provide more details.

This parameter requires no value. It's a switch.

Remarks
More information: List available portals
pac pages migrate-datamodel
Manage data model migration for your Power Pages website.

Required Parameters for pages migrate-datamodel

--webSiteId -id

Power Pages website ID to update the site.

Optional Parameters for pages migrate-datamodel

--checkMigrationStatus -s

To check the status of the site with migration in progress.

This parameter requires no value. It's a switch.

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--mode -m

Choose from configurationData / configurationDataRefrences / all - based on your


requirement.

--portalId -pid

Portal ID for the website under migration.

--revertToStandardDataModel -r

Revert site from enhanced to standard data model.

This parameter requires no value. It's a switch.

--siteCustomizationReportPath -p
Local path to store the site customization report.

--updateDataModelVersion -u

Update data model version for the site once the data is migrated successfully.

This parameter requires no value. It's a switch.

pac pages upload


Upload Power Pages website content to current Dataverse environment.

Example
PowerShell

pac pages upload --path "C:\portals\starter-portal" --modelVersion 2

Required Parameters for pages upload

--path -p

Path from where the Power Pages website content is uploaded.

Optional Parameters for pages upload

--deploymentProfile -dp

Deployment profile name to be used. Defaults to 'default'

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--forceUploadAll -f

Upload all Power Pages website content to the current Dataverse environment.
This parameter requires no value. It's a switch.

--modelVersion -mv

Power Pages website data model version to upload.

Remarks
More information:

Upload the changes


Use deployment profile

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac pcf
Article • 03/26/2025

Commands for working with Power Apps component framework projects

Create and build a code component explains how to use these commands.

Commands
ノ Expand table

Command Description

pac pcf init Initializes a directory with a new Power Apps component framework project

pac pcf push Import the Power Apps component framework project into the current Dataverse
organization

pac pcf Patch version for controls


version

pac pcf init


Initializes a directory with a new Power Apps component framework project

Example
PowerShell

pac pcf init --namespace SampleNameSpace --name SampleComponent --template


field

Optional Parameters for pcf init

--framework -fw

The rendering framework for control. The default value is 'none', which means HTML.

Use one of these values:

none
react

--name -n

The name for the component.

Note: Only characters within the ranges [A - Z], [a - z] or [0 - 9] are allowed. The first
character may not be a number.

--namespace -ns

The namespace for the component.

Note: Only characters within the ranges [A - Z], [a - z], [0 - 9], or '.' are allowed. The first
and last character may not be the '.' character. Consecutive '.' characters are not allowed.
Numbers are not allowed as the first character or immediately after a period.

--outputDirectory -o

Output directory

--run-npm-install -npm

Auto run 'npm install' after the control is created. The default value is 'false'.

This parameter requires no value. It's a switch.

--template -t

Choose a template for the component.

Use one of these values:

field
dataset

Remarks
Use --framework react with React controls & platform libraries (Preview).

pac pcf push


Import the Power Apps component framework project into the current Dataverse
organization

Example
PowerShell

pac pcf push --publisher-prefix dev

Optional Parameters for pcf push

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--force-import -f

Deprecated: This parameter is ignored.

--incremental -inc

Pushes only files which are different using entity updates.

This parameter requires no value. It's a switch.

--interactive -i

Indicates that actions in the build are allowed to interact with the user. Don't use this
argument in an automated scenario where interactivity is not expected.

This parameter requires no value. It's a switch.

--publisher-prefix -pp

Customization prefix value for the Dataverse solution publisher

Note: The prefix must be 2 to 8 characters long, can only consist of alpha-numerics,
must start with a letter, and can't start with 'mscrm'.
--solution-unique-name

The unique name of the solution to add the component to.

--verbosity -v

Verbosity level for MSBuild when building the temporary solution wrapper.

Use one of these values:

minimal

normal

detailed
diagnostic

pac pcf version


Patch version for controls

Example
PowerShell

pac pcf version --patchversion 1.0.0.0 --path


c:\Users\Downloads\SampleComponent --allmanifests

PowerShell

pac pcf version --strategy gittags

Optional Parameters for pcf version

--allmanifests -a

Updates patch version for all 'ControlManifest.xml' files

This parameter requires no value. It's a switch.

--filename -fn
Tracker CSV file name to be used when using filetracking as a strategy. The default value
is 'ControlsStateVersionInfo.csv'.

--patchversion -pv

Patch version for controls

Note: The value must be an integer with minimum value of 0.

--path -p

Absolute/Relative path of the 'ControlManifest.xml' for updating.

--strategy -s

Updates patch version for 'ControlManifest.xml' files using specified strategy. If using
gittags, set a personal access token in the following environment variable "PacCli.PAT"

Use one of these values:

None
GitTags

FileTracking

Manifest

--updatetarget -ut

Specify which target manifest needs to be updated.

Use one of these values:

build

project

Remarks
--patchversion will only take value of the third part of the version tuple:

Major.Minor.Patch .

For --strategy the available values have these meanings:


ノ Expand table

Value Description

gittags Use Git tags to decide whether a particular component's patch version needs to
be updated.

filetracking Use a .csv file to decide whether a particular component's patch version needs to
be updated.

manifest Increments the patch version by 1 for all the components.

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac pipeline
Article • 03/26/2025

Work with Pipelines

Pipelines in Power Platform aim to democratize application lifecycle management (ALM)


for Power Platform and Dynamics 365 customers by bringing ALM automation and
continuous integration and continuous delivery (CI/CD) capabilities into the service in a
manner that's more approachable for all makers, admins, and developers.

Pipelines significantly reduce the effort and domain knowledge previously required to
realize the ROI from adopting healthy, automated ALM processes within your team or
organization.

Admins easily configure automated deployment pipelines in minutes rather than


days or weeks.
Makers have an intuitive user experience for easily deploying their solutions.

Learn more about pipelines in Power Platform

Commands
ノ Expand table

Command Description

pac pipeline deploy Start pipeline deployment.

pac pipeline list List Pipelines


pac pipeline deploy
Start pipeline deployment.

Use pac pipeline deploy to deploy/start an existing pipeline in the Power Platform
environment you are connected to, or use --environment / -env to select an
environment in the same tenant.

Required Parameters for pipeline deploy

--currentVersion -cv

Current solution version

--newVersion -nv

New solution version

--solutionName -sn

Solution Name

--stageId -sid

Deployment Stage ID

Optional Parameters for pipeline deploy

--environment -env

Deployment Environment

--wait -w

Wait until the deployment finishes.

This parameter requires no value. It's a switch.

pac pipeline list


List Pipelines

Use pac pipeline list to list existing pipelines in the Power Platform environment you
are connected to, or use --environment / -env to select an environment in the same
tenant.

Optional Parameters for pipeline list

--environment -env

Deployment Environment

--pipeline -p

Pipeline name or ID for which show list of details such as deployment stages

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac plugin
Article • 03/26/2025

Commands for working with Dataverse plug-in class library

Learn how to create and register a plug-in package using PAC CLI

Commands
ノ Expand table

Command Description

pac plugin init Initializes a directory with a new Dataverse plug-in class library.

pac plugin push Import plug-in into Dataverse.

pac plugin init


Initializes a directory with a new Dataverse plug-in class library.

Optional Parameters for plugin init

--author -a

One or more authors of the Dataverse Plug-in Package.

--outputDirectory -o

Output directory

--signing-key-file-path -sk

Relative path to the Dataverse plug-in assembly originator key file for signing.

--skip-signing -ss

Skip plug-in assembly signing that gives the plug-in assembly a strong name. The
default value is 'false'.
This parameter requires no value. It's a switch.

pac plugin push


Import plug-in into Dataverse.

Required Parameters for plugin push

--pluginId -id

ID of plug-in assembly or plug-in package

Optional Parameters for plugin push

--configuration -c

Build configuration. The default value is: 'Debug'.

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--pluginFile -pf

File name of plug-in assembly or plug-in package

--type -t

Type of item if not specified explicitly through --pluginFile. The default value is: 'Nuget'.

Use one of these values:

Nuget
Assembly

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview
Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac power-fx
Article • 03/26/2025

(Preview) Commands for working with Power Fx

Use these commands to interact with data in Dataverse using a command line or script.
Reduce the time and complexity of your Dataverse operations by using Power Fx.

You can use the formulas listed in the Formula reference - Power Platform CLI.

Commands
ノ Expand table

Command Description

pac power-fx repl (Preview) Launch interactive Power Fx Read-Eval-Print Loop

pac power-fx run (Preview) Run a file of Power Fx instructions

pac power-fx repl


(Preview) Launch interactive Power Fx Read-Eval-Print Loop

7 Note

If you installed Power Platform CLI using Windows MSI, there is a known issue
with pac power-fx repl where the shell may stop responding when using this
command.

Optional Parameters for power-fx repl

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

Remarks
This command provides a shell to use formulas listed in Formula reference - Power
Platform CLI.

Start the Power Fx repl by running the following command:

PowerShell

pac power-fx repl

After that, you can run Power Fx commands.

Examples

The following examples show the use of the pac power-fx repl command.

Add rows
Help
Exit

Add rows

Power Fx

Collect(Contacts, { firstname: "Patti", lastname: "Fernandez" })

The Power Fx repl responds with the following:

text

{contactid:GUID("118d7b47-8f80-ee11-8179-0022482a40c7"), fullname:"Patti
Fernandez", ...}

Help

Run the following command to get help about all the commands that are available in
Power Fx repl:

Power Fx

Help()

The Power Fx repl responds with the following output:


text

Abs Acos Acot AddColumns And


Asin AsType Atan Atan2 Average
Blank Boolean Char Clear
ClearCollect
Coalesce Collect ColorFade ColorValue Concat
Concatenate Cos Cot Count CountA
CountIf CountRows Date DateAdd DateDiff
DateTime DateTimeValue DateValue Day Dec2Hex
Decimal Degrees Distinct DropColumns EDate
EncodeUrl EndsWith EOMonth Error Exp
Filter Find First FirstN Float
ForAll GUID Help Hex2Dec Hour
If IfError Index Int IsBlank
IsBlankOrError IsEmpty IsError IsMatch IsNumeric
IsToday Language Last LastN Left
Len Ln Log LookUp Lower
Match MatchAll Max Mid Min
Minute Mod Month Not Notify
Now OptionSetInfo Or ParseJSON Patch
Pi PlainText Power Proper Radians
Rand RandBetween Refresh Remove Replace
RGBA Right Round RoundDown RoundUp
Second Sequence Set Shuffle Sin
Sort Split Sqrt StartsWith StdevP
Substitute Sum Switch Table Tan
Text Time TimeValue TimeZoneOffset Today
Trim TrimEnds Trunc Upper Value
VarP Weekday With Year
>>

7 Note

These commands will change over time to include more commands. It should be
synchronized with the documented currently available commands.

Exit

Use Exit() to exit the repl command.

pac power-fx run


(Preview) Run a file of Power Fx instructions

Examples
The following examples show the use of the pac power-fx run command.

Create Dataverse records


Query a Dataverse table
Use PowerFx functions

7 Note

In each of these examples, you need to:

1. Create a file named test-pfx.txt with Power Fx expressions in a folder on


your computer, like c:\test .

2. Open a Windows PowerShell window, navigate to the test folder and use
the run command specifying the file that contains the commands: pac power-
fx run --file test-pfx.txt .

To use Dataverse tables, you have to create and select an auth profile. See pac auth
create and pac auth select.

If you get an error check Troubleshooting.

Create Dataverse records


1. Add the following text to test-pfx.txt and save the file.

Power Fx

Collect(Contacts, { firstname: "Megan", lastname: "Bowen" })


Collect(Contacts, { firstname: "Garth", lastname: "Forth" })
Collect(Contacts, { firstname: "Adele", lastname: "Vance" })
Collect(Contacts, { firstname: "Patti", lastname: "Fernandez" })

2. Run this command:

PowerShell

PS C:\test> pac power-fx run --file test-pfx.txt

You can expect output like the following:

PowerShell
{contactid:GUID("80eb0c02-9180-ee11-8179-0022482a40c7"),
fullname:"Megan Bowen", ...}
{contactid:GUID("81eb0c02-9180-ee11-8179-0022482a40c7"),
fullname:"Garth Forth", ...}
{contactid:GUID("82eb0c02-9180-ee11-8179-0022482a40c7"),
fullname:"Adele Vance", ...}
{contactid:GUID("83eb0c02-9180-ee11-8179-0022482a40c7"),
fullname:"Patti Fernandez", ...}

Query a Dataverse table


1. Add this text to test-pfx.txt and save the file.

Power Fx

FirstN(Contacts, 5)

This command retrieves the first five contacts from Dataverse.

2. Run this command:

PowerShell

PS C:\test> pac power-fx run --file test-pfx.txt

You can expect output like the following:

PowerShell

Connected to... Your Organization


Connected as you@yourorg.onmicrosoft.com

contactid fullname ...


============================================== ================== =====
GUID("eeb27495-d127-ed11-9db1-00224804f8e2") Yvonne McKay (sample)
GUID("cba0ed9e-d127-ed11-9db1-00224804f8e2") Susanna Stubberod
(sample)
GUID("cea0ed9e-d127-ed11-9db1-00224804f8e2") Nancy Anderson (sample)
GUID("6cc7483c-7a77-ee11-8179-00224809f375") Maria Campbell (sample)
GUID("49b0be2e-d01c-ed11-b83e-000d3a572421") Sidney Higa (sample)
PS C:\test>

Use PowerFx functions


1. Add the following text to test-pfx.txt and save the file.
Power Fx

Set(x, 1)
Result = If( Mid( "asdf",x,1 ) = "a", "X", "Y" )

This example uses the Mid, If, and Set Power Fx functions.

2. Run the following command:

PowerShell

PS C:\test> pac power-fx run --file test-pfx.txt

You can expect output like the following:

PowerShell

PS C:\test> pac power-fx run --file test-pfx.txt


x: 1
true
Result: "X"
PS C:\test>

3. Add the --echo parameter and you can expect this output:

PowerShell

PS C:\test> pac power-fx run --file test-pfx.txt --echo


Set(x, 1)

x: 1
true
Result = If( Mid( "asdf",x,1 ) = "a", "X", "Y" )

Result: "X"
PS C:\test>

Required Parameters for power-fx run

--file -f

Path of file to execute

Optional Parameters for power-fx run


--echo -e

True if input commands should echo back to output

This parameter requires no value. It's a switch.

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

Troubleshooting
The following are steps to troubleshoot errors you might encounter when using pac
power-fx commands.

Error when no Dataverse authentication profile exists


You can get an error like this when you don't have a universal authentication profile
associated with a Dataverse environment.

PowerShell

PS C:\test> pac power-fx run --file test-pfx.txt


Error 8-16: Name isn't valid. 'Contacts' isn't recognized.
Error 18-59: The specified column 'firstname' does not exist.
Error 0-60: The function 'Collect' has some invalid arguments.
Error 8-16: Name isn't valid. 'Contacts' isn't recognized.
Error 18-59: The specified column 'firstname' does not exist.
Error 0-60: The function 'Collect' has some invalid arguments.
Error 8-16: Name isn't valid. 'Contacts' isn't recognized.
Error 18-59: The specified column 'firstname' does not exist.
Error 0-60: The function 'Collect' has some invalid arguments.
Error 8-16: Name isn't valid. 'Contacts' isn't recognized.
Error 18-63: The specified column 'firstname' does not exist.
Error 0-64: The function 'Collect' has some invalid arguments.

To resolve errors like these, create a universal authentication profile associated with a
Dataverse environment.

1. Run the command pac auth list.

You might see a result like the following that includes a UNIVERSAL authentication
profile with no Url indicating it's associated with a Dataverse environment.
PowerShell

Index Active Kind Name Friendly Name Url User Cloud


Type
[1] * UNIVERSAL you@yourcompany.com
Public OperatingSystem

This isn't sufficient because no Dataverse environment is specified.

2. Use pac auth create to create a UNIVERSAL authentication profile connected to a


Dataverse environment.

7 Note

Use the --environment parameter using the environmentid value. Find your
environment ID.

Don't use the --url parameter because this will create a DATAVERSE profile
rather than a UNIVERSAL profile.

For example:

PowerShell

PS C:\test> pac auth create --environment f2cef599-b112-4803-bb5d-


090077017685 --name ConnectionName
'you@yourcompany.onmicrosoft.com' authenticated successfully.
Validating connection...
Default organization: YourOrganization
Connected to... YourOrganization
Connected as you@yourcompany.onmicrosoft.com
Authentication profile created
* UNIVERSAL ConnectionName
https://yourcompany.crm.dynamics.com/ :
you@yourcompany.onmicrosoft.com Public

PS C:\test>

3. Run pac auth list again. You should see a result with UNIVERSAL connection profile
with a URL for your Dataverse environment.

PowerShell

PS C:\test> pac auth list


Index Active Kind Name Friendly Name Url
User Cloud Type
[1] * UNIVERSAL
you@yourcompany.com Public OperatingSystem
[2] * UNIVERSAL ConnectionName YourOrganization
https://yourcompany.crm.dynamics.com/ you@yourcompany.com Public User

PS C:\test>

4. Select the UNIVERSAL environment to make it the default profile using the pac auth
select command.

PowerShell

PS C:\test> pac auth select --index 2


New default profile:
* UNIVERSAL ConnectionName
https://yourcompany.crm.dynamics.com/ : you@yourcompany.com
Public

PS C:\test>

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac solution
Article • 03/26/2025

Commands for working with Dataverse solution projects

Commands
ノ Expand table

Command Description

pac solution add-license Add license and plan info to the solution.

pac solution add-reference Adds a reference from the project in the current directory to the
project at 'path'

pac solution add-solution- Add one or more solution components to the target unmanaged
component solution in Dataverse.

pac solution check Upload a Dataverse solution project to run against the Power Apps
Checker service.

pac solution clone Create a solution project based on an existing solution in your
organization.

pac solution create- Create a settings file from solution zip or solution folder.
settings

pac solution delete Delete a solution from Dataverse in the current environment.

pac solution export Export a solution from Dataverse.

pac solution import Import the solution into Dataverse.

pac solution init Initializes a directory with a new Dataverse solution project

pac solution list List all Solutions from the current Dataverse organization

pac solution online-version Sets version for solution loaded in Dataverse.

pac solution pack Package solution components on local filesystem into solution.zip
(SolutionPackager).

pac solution publish Publishes all customizations

pac solution sync Sync the current Dataverse solution project to the current state of
the solution in your organization.
Command Description

pac solution unpack Extract solution components from solution.zip onto local filesystem
(SolutionPackager).

pac solution upgrade Apply solution upgrade

pac solution version Update build or revision version for the solution.

pac solution add-license


Add license and plan info to the solution.

Example
This example shows how to add licensing info to a solution.

PowerShell

pac solution add-license --planDefinitionFile ../ISV_Plan_Definition.csv --


planMappingFile ../ISV_Plan_Mapping.csv

Plan Definition File


Below you'll find an example of the plan definition file:

csv

ServiceID,Display name,More info URL


test_isvconnect1599092224747.d365_isvconnect_prod_licensable.bronzeplan,Fabr
ikam Bronze Plan,http://www.microsoft.com
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.silverplan,Fabr
ikam Silver Plan,http://www.microsoft.com
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.goldplan,Fabrik
am Gold Plan,http://www.microsoft.com

Plan Mapping File


Below you'll find an example of the plan mapping file:

csv

Service ID,Component name


test_isvconnect1599092224747.d365_isvconnect_prod_licensable.bronzeplan,crf3
6_BronzeApp
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.silverplan,crf3
6_BronzeApp
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.silverplan,crf3
6_SilverApp
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.goldplan,crf36_
BronzeApp
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.goldplan,crf36_
SilverApp
test_isvconnect1599092224747.d365_isvconnect_prod_licensable.goldplan,crf36_
GoldApp

Required Parameters for solution add-license

--planDefinitionFile -pd

License plan definition file in CSV format; expected columns: Service ID, Display name,
More info URL.

--planMappingFile -pm

License plan mapping file in CSV format; expected columns: Service ID, Component
name

pac solution add-reference


Adds a reference from the project in the current directory to the project at 'path'

Example
PowerShell

pac solution add-reference --path c:\Users\Downloads\SampleComponent

Required Parameters for solution add-reference

--path -p

The path to the referenced project


pac solution add-solution-component
Add one or more solution components to the target unmanaged solution in Dataverse.

Example
This example shows how to add a solution component to a solution. In this case, we're
adding the contact table to the solution SampleSolution . A table is component type 1.

PowerShell

pac solution add-solution-component --solutionUniqueName SampleSolution --


component contact --componentType 1

Required Parameters for solution add-solution-


component

--component -c

The schema name or ID of the component to add to the target solution.

--componentType -ct

The value that represents the solution component that you're adding.

--solutionUniqueName -sn

Name of the solution.

Optional Parameters for solution add-solution-


component

--AddRequiredComponents -arc

Indicates whether other solution components required by the solution component that
you're adding should also be added to the unmanaged solution.

This parameter requires no value. It's a switch.


--environment -env

Environment URL or ID of the target environment.

pac solution check


Upload a Dataverse solution project to run against the Power Apps Checker service.

Example
PowerShell

pac solution check --path c:\Users\Documents\Solution.zip --outputDirectory


c:\samplepackage --geo UnitedStates

Optional Parameters for solution check

--clearCache -cc

Clears the solution checker enforcement cache, for your tenant, of all records that
pertain to past results for your solutions.

This parameter requires no value. It's a switch.

--customEndpoint -ce

Specify a custom URL as the Power Apps Checker endpoint.

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--excludedFiles -ef

Exclude Files from the Analysis. Pass as comma-separated values

--geo -g

Which geographical instance of the Power Apps Checker service to use.


Use one of these values:

PreviewUnitedStates

UnitedStates
Europe

Asia

Australia
Japan

India
Canada

SouthAmerica

UnitedKingdom
France

SouthAfrica
Germany

UnitedArabEmirates

Switzerland
Norway

Singapore
Korea

Sweden

USGovernment
USGovernmentL4

USGovernmentL5DoD
China

--outputDirectory -o

Output directory

--path -p

Path where one or more solution files to be checked exist. The path can contain
glob/wildcard characters.

--ruleLevelOverride -rl

Path to a file containing a JSON array rules and levels to override. Accepted values for
OverrideLevel are: Critical, High, Medium, Low, Informational. Example: [{"Id":"meta-
remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-
ops","OverrideLevel":"Medium"}]

--ruleSet -rs

Select a rule set that is executed as part of this build. Values: A valid Guid, "AppSource
Certification", "Solution Checker" (default).

--saveResults -sav

Uses current environment to store solution analysis results that can be seen in Solution
Health Hub App. By default, this argument is set to false.

This parameter requires no value. It's a switch.

--solutionUrl -u

SAS Uri pointing to solution.zip to be analyzed

pac solution clone


Create a solution project based on an existing solution in your organization.

Examples
The following examples show the use of the pac solution clone command.

Basic clone
Clone with general and auto numbering settings included

Basic clone

This example clones the solution sampleSolution to the current directory.

PowerShell

pac solution clone --name sampleSolution

Clone with general and auto numbering settings included


This example clones the solution sampleSolution to the current directory with the
general and auto numbering settings included.

PowerShell

pac solution clone --name sampleSolution --include general,autonumbering

Required Parameters for solution clone

--name -n

The name of the solution to be exported.

Optional Parameters for solution clone

--async -a

Exports the solution asynchronously.

This parameter requires no value. It's a switch.

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--include -i

Which settings should be included in the solution being exported.

Use one or more of these values separated by commas:

autonumbering
calendar

customization

emailtracking
externalapplications

general
isvconfig

marketing
outlooksynchronization
relationshiproles

sales

--localize -loc

Extract or merge all string resources into .resx files.

This parameter requires no value. It's a switch.

--map -m

The full path to a mapping xml file from which to read component folders to pack.

--max-async-wait-time -wt

Max asynchronous wait time in minutes. The default value is 60 minutes.

--outputDirectory -o

Output directory

--packagetype -p

Specifies the extraction type for the solution. Can be: 'Unmanaged', 'Managed' or 'Both'.
The default value is: 'Both'.

--targetversion -v

Deprecated: This parameter is ignored.

pac solution create-settings


Create a settings file from solution zip or solution folder.

Example
PowerShell
pac solution create-settings --solution-zip C:\SampleSolution.zip --
settings-file .\SampleDeploymentSettingsDev.json

Optional Parameters for solution create-settings

--settings-file -s

The .json file with the deployment settings for connection references and environment
variables.

--solution-folder -f

Path to the local, unpacked solution folder: either the root of the 'Other/Solution.xml'
file or a folder with a .cdsproj file.

--solution-zip -z

Path to solution zip file.

pac solution delete


Delete a solution from Dataverse in the current environment.

Example
PowerShell

pac solution delete --solution-name Samplesolution

Required Parameters for solution delete

--solution-name -sn

Name of the solution.

Optional Parameters for solution delete


--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

pac solution export


Export a solution from Dataverse.

Example
PowerShell

pac solution export --path c:\Users\Documents\Solution.zip --name


SampleComponentSolution --managed true --include general

Required Parameters for solution export

--name -n

The name of the solution to be exported.

Optional Parameters for solution export

--async -a

Exports the solution asynchronously.

This parameter requires no value. It's a switch.

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--include -i

Which settings should be included in the solution being exported.

Use one or more of these values separated by commas:


autonumbering
calendar

customization
emailtracking

externalapplications

general
isvconfig

marketing
outlooksynchronization

relationshiproles

sales

--managed -m

Whether the solution should be exported as a managed solution.

This parameter requires no value. It's a switch.

--max-async-wait-time -wt

Max asynchronous wait time in minutes. The default value is 60 minutes.

--overwrite -ow

The exported solution file can overwrite the solution zip file on the local file system.

This parameter requires no value. It's a switch.

--path -p

Path where the exported solution zip file is written.

--targetversion -v

Deprecated: This parameter is ignored.

pac solution import


Import the solution into Dataverse.
Example
PowerShell

pac solution import --path c:\Users\Documents\Solution.zip

Optional Parameters for solution import

--activate-plugins -ap

Activate plug-ins and workflows on the solution.

This parameter requires no value. It's a switch.

--async -a

Imports the solution asynchronously.

This parameter requires no value. It's a switch.

--convert-to-managed -cm

Convert to a managed solution.

This parameter requires no value. It's a switch.

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--force-overwrite -f

Force an overwrite of unmanaged customizations

This parameter requires no value. It's a switch.

--import-as-holding -h

Import the solution as a holding solution.


This parameter requires no value. It's a switch.

--max-async-wait-time -wt

Max asynchronous wait time in minutes. The default value is 60 minutes.

--path -p

Path to solution zip file. If not specified, assumes the current folder is a cdsproj project.

--publish-changes -pc

Publish your changes upon a successful import.

This parameter requires no value. It's a switch.

--settings-file

The .json file with the deployment settings for connection references and environment
variables.

--skip-dependency-check -s

Skip dependency check against dependencies flagged as product update

This parameter requires no value. It's a switch.

--skip-lower-version -slv

Skip solution import if same or higher version is present in current environment.

This parameter requires no value. It's a switch.

--stage-and-upgrade -up

Import and upgrade the solution.

This parameter requires no value. It's a switch.

Remarks
You be connected to an environment using the pac auth command to use pac solution
import .

pac solution import

When Path parameter is not specified, it assumes the current folder is a cdsproj project.
If the SolutionPackageType property in cdsproj file is set to Both , the managed solution
is used by default.

convert-to-managed

The convert-to-managed parameter doesn't take an unmanaged solution and import it


as managed. This parameter allows a managed solution that is being imported into an
environment convert unmanaged components to managed.

If this flag isn't explicitly set, the solution system will fail the import request because
managed layers can't go on top of unmanaged base components. This switch allows the
solution import to succeed and the net result is that the inbound managed solution will
be the base layer for each of these components – the components in the destination
environment are converted from being an unmanaged component to being a managed
component.

pac solution init


Initializes a directory with a new Dataverse solution project

Example
PowerShell

pac solution init --publisher-name developer --publisher-prefix dev

Required Parameters for solution init

--publisher-name -pn

Name of the Dataverse solution publisher

Note: Only characters within the ranges [A - Z], [a - z], [0 - 9], or _ are allowed. The first
character may only be in the ranges [A - Z], [a - z], or _.
--publisher-prefix -pp

Customization prefix value for the Dataverse solution publisher

Note: The prefix must be 2 to 8 characters long, can only consist of alpha-numerics,
must start with a letter, and can't start with 'mscrm'.

Optional Parameters for solution init

--outputDirectory -o

Output directory

pac solution list


List all Solutions from the current Dataverse organization

Example
PowerShell

pac solution list

Optional Parameters for solution list

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--includeSystemSolutions

Include system solutions like those published by Microsoft

This parameter requires no value. It's a switch.

--json

Returns the output of the command as a JSON formatted string.


pac solution online-version
Sets version for solution loaded in Dataverse.

Example
PowerShell

pac solution online-version --solution-name Samplesolution --solution-


version 1.0.0.2

Required Parameters for solution online-version

--solution-name -sn

Name of the solution.

--solution-version -sv

Specify the solution version number.

Optional Parameters for solution online-version

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

pac solution pack


Package solution components on local filesystem into solution.zip (SolutionPackager).

Example
PowerShell

pac solution pack --zipfile C:\SampleSolution.zip --folder


.\SampleSolutionUnpacked\.
Required Parameters for solution pack

--zipfile -z

The full path to the solution ZIP file

Optional Parameters for solution pack

--allowDelete -ad

Dictates if delete operations may occur. The default value is 'false'.

This parameter requires no value. It's a switch.

--allowWrite -aw

Dictates if write operations may occur. The default value is 'false'.

This parameter requires no value. It's a switch.

--clobber -c

Enables that files marked read-only can be deleted or overwritten. The default value is
'false'.

This parameter requires no value. It's a switch.

--disablePluginRemap -dpm

Disabled plug-in fully qualified type name remapping. The default value is 'false'.

This parameter requires no value. It's a switch.

--errorlevel -e

Minimum logging level for log output [Verbose|Info|Warning|Error|Off]. The default


value is 'Info'.

--folder -f
The path to the root folder on the local filesystem. When unpacking or extracting, this is
written to. When packing this is read from.

--localize -loc

Extract or merge all string resources into .resx files.

This parameter requires no value. It's a switch.

--log -l

The path to the log file.

--map -m

The full path to a mapping xml file from which to read component folders to pack.

--packagetype -p

When unpacking or extracting, use to specify dual Managed and Unmanaged operation.
When packing, use to specify Managed or Unmanaged from a previous unpack 'Both'.
Can be: 'Unmanaged', 'Managed' or 'Both'. The default value is 'Unmanaged'.

--singleComponent -sc

Only perform action on a single component type [WebResource|Plugin|Workflow|None].


The default value is 'None'.

--sourceLoc -src

Generates a template resource file. Valid only on extract. Possible values are 'auto', or
language code of the language you wish to export. You can use Language Code
Identifier (LCID), or International Organization for Standardization (ISO) language code
formats. When present, this extracts the string resources from the given locale as a
neutral .resx. If 'auto' or just the long or short form of the switch is specified, the base
locale for the solution is used.

--useLcid -lcid
Use Language Code Identifier (LCID) values (1033) rather than International
Organization for Standardization (ISO) codes (en-US) for language files.

This parameter requires no value. It's a switch.

--useUnmanagedFileForMissingManaged -same

Use the same XML source file when packaging for Managed and only Unmanaged XML
file is found; applies to AppModuleSiteMap, AppModuleMap, FormXml files.

This parameter requires no value. It's a switch.

pac solution publish


Publishes all customizations

Example
PowerShell

pac solution publish

Optional Parameters for solution publish

--async -a

Publishes all customizations asynchronously

This parameter requires no value. It's a switch.

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--max-async-wait-time -wt

Max asynchronous wait time in minutes. The default value is 60 minutes.

pac solution sync


Sync the current Dataverse solution project to the current state of the solution in your
organization.

Examples
The following examples show the use of the pac solution sync command.

Basic sync
This example syncs the solution to the current directory.

PowerShell

pac solution sync

Optional Parameters for solution sync

--async -a

Exports the solution asynchronously.

This parameter requires no value. It's a switch.

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--include -i

Which settings should be included in the solution being exported.

Use one or more of these values separated by commas:

autonumbering

calendar

customization
emailtracking

externalapplications
general
isvconfig
marketing

outlooksynchronization
relationshiproles

sales

--localize -loc

Extract or merge all string resources into .resx files.

This parameter requires no value. It's a switch.

--map -m

The full path to a mapping xml file from which to read component folders to pack.

--max-async-wait-time -wt

Max asynchronous wait time in minutes. The default value is 60 minutes.

--packagetype -p

When unpacking or extracting, use to specify dual Managed and Unmanaged operation.
When packing, use to specify Managed or Unmanaged from a previous unpack 'Both'.
Can be: 'Unmanaged', 'Managed' or 'Both'. The default value is: 'Both'.

--solution-folder -f

Path to the local, unpacked solution folder: either the root of the 'Other/Solution.xml'
file or a folder with a .cdsproj file.

pac solution unpack


Extract solution components from solution.zip onto local filesystem (SolutionPackager).

Example
PowerShell
pac solution unpack --zipfile C:\SampleSolution.zip --folder
.\SampleSolutionUnpacked\.

Required Parameters for solution unpack

--zipfile -z

The full path to the solution ZIP file

Optional Parameters for solution unpack

--allowDelete -ad

Dictates if delete operations may occur. The default value is 'false'.

This parameter requires no value. It's a switch.

--allowWrite -aw

Dictates if write operations may occur. The default value is 'false'.

This parameter requires no value. It's a switch.

--clobber -c

Enables that files marked read-only can be deleted or overwritten. The default value is
'false'.

This parameter requires no value. It's a switch.

--disablePluginRemap -dpm

Disabled plug-in fully qualified type name remapping. The default value is 'false'.

This parameter requires no value. It's a switch.

--errorlevel -e

Minimum logging level for log output [Verbose|Info|Warning|Error|Off]. The default


value is 'Info'.
--folder -f

The path to the root folder on the local filesystem. When unpacking or extracting, this is
written to. When packing this is read from.

--localize -loc

Extract or merge all string resources into .resx files.

This parameter requires no value. It's a switch.

--log -l

The path to the log file.

--map -m

The full path to a mapping xml file from which to read component folders to pack.

--packagetype -p

When unpacking or extracting, use to specify dual Managed and Unmanaged operation.
When packing, use to specify Managed or Unmanaged from a previous unpack 'Both'.
Can be: 'Unmanaged', 'Managed' or 'Both'. The default value is 'Unmanaged'.

--singleComponent -sc

Only perform action on a single component type [WebResource|Plugin|Workflow|None].


The default value is 'None'.

--sourceLoc -src

Generates a template resource file. Valid only on extract. Possible values are 'auto', or
language code of the language you wish to export. You can use Language Code
Identifier (LCID), or International Organization for Standardization (ISO) language code
formats. When present, this extracts the string resources from the given locale as a
neutral .resx. If 'auto' or just the long or short form of the switch is specified, the base
locale for the solution is used.

--useLcid -lcid
Use Language Code Identifier (LCID) values (1033) rather than International
Organization for Standardization (ISO) codes (en-US) for language files.

This parameter requires no value. It's a switch.

--useUnmanagedFileForMissingManaged -same

Use the same XML source file when packaging for Managed and only Unmanaged XML
file is found; applies to AppModuleSiteMap, AppModuleMap, FormXml files.

This parameter requires no value. It's a switch.

pac solution upgrade


Apply solution upgrade

Example
PowerShell

pac solution upgrade --solution-name SampleSolution --async --max-async-


wait-time 60

Required Parameters for solution upgrade

--solution-name -sn

Name of the solution.

Optional Parameters for solution upgrade

--async -a

Upgrades solution asynchronously

This parameter requires no value. It's a switch.

--environment -env
Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

--max-async-wait-time -wt

Max asynchronous wait time in minutes. The default value is 60 minutes.

pac solution version


Update build or revision version for the solution.

Example
PowerShell

pac solution version --patchversion 2

PowerShell

pac solution version --strategy gittags

Optional Parameters for solution version

--buildversion -bv

Build version for the solution.

Note: The value must be an integer with minimum value of 0.

--filename -fn

Tracker CSV file name to be used when using filetracking as a strategy. The default value
is 'ControlsStateVersionInfo.csv'.

--patchversion -pv

Deprecated: This parameter is ignored.

--revisionversion -rv
Revision version for the solution.

Note: The value must be an integer with minimum value of 0.

--solutionPath -sp

Path to Dataverse solution directory or Solution.xml file.

--strategy -s

Updates build version for 'Solution.xml' file using specified strategy. If using gittags, set
personal access token in the following environment variable "PacCli.PAT"

Use one of these values:

None

GitTags
FileTracking

Solution

Differences between pac solution clone and


export
There are situations where you're unsure when to use pac solution clone or pac
solution export command. You can use one of the commands in the following

scenarios:

Use pac solution clone when you need to add new components to the solution.
Use pac solution export when you want to modify the existing content in a
solution file but not adding any new components to the solution.

pac solution clone


The exported solution looks like a Visual Studio project when you export the solution
using the pac solution clone command. Instead of a .csproj (as in Visual Studio),
you'll see a cdsproj file. The cdsproj file has all the components information that is
required to build the project. The build output is a solution zip file, which you can
import into different environments.

The developer doesn't have to unpack the cloned solution because it's rendered in an
unpacked format within the src (source) folder.

Now, if you want to associate a newly created plug-in with this solution, with the
solution unpacked, you can use the pac solution add-reference command to update
the .cdsproj file to add the new plug-in. Then, you can build the project using either
dotnet build or msbuild .

It's recommended to do a build restore first before building the project. A build restore
(dotnet build does a restore first automatically) will restore the required .NET libraries to
generate a packed solution.

pac solution export


When you export the solution using pac solution export you feel like exporting the
solution using the maker portal, and the resulting output is a solution zip file.

When you unpack the solution zip file (we don't recommend that you open the zip with
standard tools and use the appropriate command from CLI). The resulting directory
structure is similar to the structure in pac solution clone . The only difference is that you
can't add references to this unpacked solution, as it doesn't have the .cdsproj project
file.

You can modify the relevant set of files that you want to update and then proceed with
the solution pack, which generates the solution zip file again to facilitate importing the
solution into the target environment. The result from the action is a solution zip file with
updated contents and an updated timestamp.

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac telemetry
Article • 03/26/2025

Manage telemetry settings.

Commands
ノ Expand table

Command Description

pac telemetry Choose to not send usage information to help Microsoft improve this
disable product

pac telemetry Choose to send usage information to help Microsoft improve this product
enable

pac telemetry status Show the current status of telemetry.

pac telemetry disable


Choose to not send usage information to help Microsoft improve this product

Remarks
Set the PP_TOOLS_TELEMETRY_OPTOUT environment variable to 1 or true to completely
opt out of sending telemetry.

pac telemetry enable


Choose to send usage information to help Microsoft improve this product

pac telemetry status


Show the current status of telemetry.

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac test
Article • 03/26/2025

(Preview) Execution of automated tests for a Power App

[This article is pre-release documentation and is subject to change.]

) Important

The run command is in public preview.


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.

7 Note

With pac cli version 1.27, the pac tests command was changed to pac test . tests
will continue to work, but we recommend using test going forward.

Learn more about test engine

Commands
ノ Expand table

Command Description

pac test run (Preview) Execute tests defined in a Test Plan file

pac test run


(Preview) Execute tests defined in a Test Plan file

Required Parameters for test run

--environment-id -env
Environment ID for the app to be tested.

--tenant -t

Tenant ID for the app being tested

--test-plan-file -test

Path to the Test Plan file

Optional Parameters for test run

--domain -d

The player domain for the app being tested

Use one of these values:

Public

Preview
UsGov

UsGovHigh
UsGovDoD

Mooncake

--output-directory -o

Path to save test output and logs

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


pac tool
Article • 03/26/2025

Power Platform tools that can be installed and launched.

7 Note

These commands are only available for the .NET Full Framework version of the PAC
CLI.

Commands
ノ Expand table

Command Description

pac tool admin Launch Power Platform Admin Center for the current environment.

pac tool cmt Launch Configuration Migration Tool (CMT).

pac tool list List the launchable tools and their local install state and version.

pac tool maker Launch Power Apps Maker Portal for the current environment.

pac tool pd Launch Package Deployer (PD).

pac tool prt Launch Plug-in Registration Tool (PRT).

pac tool admin


Launch Power Platform Admin Center for the current environment.

Optional Parameters for tool admin

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

pac tool cmt


Launch Configuration Migration Tool (CMT).

Example
This example will download and launch the Configuration Migration tool if you run the
command for the first time. If you already ran this command, it will launch it.

PowerShell

pac tool cmt

Optional Parameters for tool cmt

--clear -c

Clear tool from local file cache

This parameter requires no value. It's a switch.

--update -u

Update tool to latest available version from nuget.org.

This parameter requires no value. It's a switch.

pac tool list


List the launchable tools and their local install state and version.

Remarks
This example will return the tools you have available, whether they're installed, and if so,
which version is installed.

PowerShell

pac tool list

pac tool maker


Launch Power Apps Maker Portal for the current environment.

Optional Parameters for tool maker

--environment -env

Specifies the target Dataverse. The value may be a Guid or absolute https URL. When
not specified, the active organization selected for the current auth profile will be used.

pac tool pd
Launch Package Deployer (PD).

Example
This example will download and launch the Package Deployer tool if you run the
command for the first time. If you already ran this command, it will launch it.

PowerShell

pac tool pd

Optional Parameters for tool pd

--clear -c

Clear tool from local file cache

This parameter requires no value. It's a switch.

--update -u

Update tool to latest available version from nuget.org.

This parameter requires no value. It's a switch.

pac tool prt


Launch Plug-in Registration Tool (PRT).
Example
This example will download and launch the Plug-in Registration tool if you run the
command for the first time. If you already ran this command, it will launch it.

PowerShell

pac tool prt

Optional Parameters for tool prt

--clear -c

Clear tool from local file cache

This parameter requires no value. It's a switch.

--update -u

Update tool to latest available version from nuget.org.

This parameter requires no value. It's a switch.

See also
Microsoft Power Platform CLI Command Groups
Microsoft Power Platform CLI overview

Feedback
Was this page helpful?  Yes  No

Provide product feedback


What is Power Platform Tools for Visual
Studio
Article • 02/05/2025

Power Platform Tools for Visual Studio supports the rapid creation, debugging, and
deployment of plug-ins. Other capabilities include development of custom workflow
activities, web resources, integration technologies like Azure Service endpoints and
webhooks, and more.

This topic describes how to install and uninstall the Power Platform Tools extension in
Visual Studio.

) Important

While Power Platform Tools for Visual Studio is similar in appearance and function
to the Developer Toolkit for Microsoft Dynamics CRM 2013, Power Platform Tools is
a new product and completely independent of the Developer Toolkit. Power
Platform Tools is not directly compatible with any templates or projects from the
Developer Toolkit and vice versa.

Prerequisites
Before installing Power Platform Tools into Visual Studio you must have the following
applications and frameworks installed on your development computer:

Microsoft Visual Studio 2019 or 2022.


.NET Framework 4.6.2 (required only for plug-in and workflow activity
development), or later

C# programming language

In addition, you must also have access to a Microsoft Dataverse environment. A trial
environment will be sufficient.

Install Power Platform Tools extension for


Visual Studio
To install Power Platform Tools, follow these steps:

1. Start Visual Studio, and select Continue without code in the dialog. Optionally, you
can open an existing project or create a new one.

2. Select Extensions > Manage extensions.

3. Expand the left navigation panel node Online > Visual Studio Marketplace. Search
for "Power Platform Tools", then download and install the extension.

) Important

There are two different tool extensions currently available for download from the
Marketplace . The extension named "Power Platform Tools" is for Visual Studio
2019. The extension named "Power Platform Tools for VS 2022" is for Visual Studio
2022.

After installing Power Platform Tools, you will not find any Power Platform Tools
related menu items or views in the Visual Studio user interface until you create or
load a Visual Studio solution that contains at least one project created from a
Power Platform Tools template.

Uninstall Power Platform Tools extension


To uninstall Power Platform Tools, follow these steps:

1. Launch Visual Studio, and select Continue without code in the dialog. Optionally,
you can open an existing project or create a new one.

2. Select Extensions > Manage extensions.


3. Expand the left navigation panel node Installed. Search for or scroll to the "Power
Platform Tools" extension, select it, and then choose Uninstall.

Install the Plug-in Profiler


If you are planning on developing plug-ins and would like to use the Plug-in Profiler to
aid with plug-in debugging, the tool's Dataverse solution must be installed into your
development environment. You can install or uninstall the tool's solution easily using
Power Platform Tools for Visual Studio.

1. In Visual Studio, if you are not already connected to a Dataverse environment then
do so now by choosing Tools > Connect to Dataverse.

2. Choose View > Power Platform Explorer to display its view.

3. Expand the target environment's node.

4. Right-click the Plug-in Assemblies node. You will see Install Profiler or Uninstall
Profiler in the menu. If you see the Uninstall Profiler menu option, then the tool is
already installed in your environment. Otherwise, choose Install Profiler to install
the tool.

Power Platform Tools options


You can find a few Power Platform Tools options in Visual Studio by choosing Tools >
Options and searching for "Power Platform" in the Options dialog search field.

Next steps
Quickstart: Create a Power Platform Tools project
Quickstart: Create a plug-in using Power Platform Tools
See also
Power Platform Tools extension for Visual Studio 2019
Power Platform Tools extension for Visual Studio 2022

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Quickstart: Create a Power Platform
Tools project
Article • 11/03/2023

Like any Visual Studio solution, you begin by creating a new project. In the new project
dialog, enter "Power Platform" in the search box. A list of available Power Platform Tools
project C# templates is described in section Available project templates.

Prerequisites
Visual Studio 2019 or 2022
Power Platform Tools for Visual Studio
C# language
.NET Framework 4.6.2 or later; plug-in and custom workflow activity development
requires v4.6.2
Power Apps subscription or a trial environment
Windows Workflow Foundation (only for custom workflow activity development)

If you haven't installed Power Platform Tools for Visual Studio, install it by following
instructions here: Power Platform Tools

You can install Windows Workflow Foundation from the Visual Studio Installer
application by selecting Modify and choosing the individual component as shown in the
next figure. An alternate approach is to install a workload that contains that component.

Available project templates


The following table introduces the available Power Platform Tools project templates.
C# project template Description

Power Platform Solution Solution template for creating a Power Platform solution. This template
Template is for a Visual Studio solution and not a Microsoft Dataverse solution.

Power Platform Plug-in Project template for creating a Power Platform plug-in class library and
Library assembly (DLL).

Power Platform Package Project template for creating a Power Platform package (CrmPackage).
The package is used to deploy the solution and custom code libraries
to a Dataverse environment.

Power Platform Project template for creating a Power Platform custom workflow
Workflow Activity activity class library and assembly (DLL).
Library

Customizations Project Project template for all customizations of a Power Platform (Dataverse)
solution.

Use the Power Platform solution template


The Power Platform solution template is a good starting point for any new solution. You
can add and remove projects to and from the solution. However, you shouldn't remove
the CrmPackage project. Doing so causes deployment of the Power Platform solution to
the target environment to fail.

) Important

A Power Platform solution must contain one and only one CrmPackage project.
Otherwise, the Dataverse solution deployment will fail.

The plug-in library and workflow library project templates are typically used for more
advanced scenarios. For example, where you may want to add multiple custom code
assemblies to a Power Platform solution or if you're only interested in developing that
specific custom code component. Before you can deploy a solution that contains only a
project of these types, you must add a CrmPackage project to the Visual Studio solution.

The easy way to create a Power Platform solution containing a CrmPackage project and
optionally a plug-in and/or workflow activity project is to use the Power Platform
Solution Template. To create that solution, follow these next steps.

1. In the Visual Studio new project dialog, search for and choose Power Platform
Solution Template and then select Next.
2. Enter the requested project information, choose a .NET Framework version, and
select Create.

At this point, you should see either a Dataverse sign in dialog or a dialog to reuse
your last Dataverse connection. Do whatever is appropriate to connect to your
Dataverse development environment. Never develop code in a production
environment.

3. At the Configure Microsoft Power Platform Solution dialog, choose either to use
an existing Dataverse solution or create a new solution.

Depending on what you have chosen, you're prompted to enter information about
the new solution or select the existing solution from a drop-down list. Step #3
Select Solution is displayed but not active until you're logged in and choose Next
in step #2.

4. Once the target Power Platform solution has been identified or created, you
specify existing items or create new projects (step #1) using one of the above
Power Platform project templates.

After you choose a new item, the dialog will expand to show step #2 where you
can choose (only) one of each available project to add to your solution. Choose
(check) one or more projects from the list and select Next. Step #3 is displayed but
not active until you're done with step #2 and choose Next.

5. In step #3 of the dialog, enter names for your chosen projects and select Done.

Choose names that you want to see as project names in Visual Studio Solution
Explorer.

6. You're prompted to save the solution file. Select Save to save the Visual Studio
solution.

In Solution Explorer, you should now see a solution containing a single CrmPackage
project and one or more projects based of the project templates that you chose. Each
plug-in or custom workflow activity class library project builds an assembly. You can add
more classes to each class library by adding a new or existing item as desired, and you
can add other projects to the solution using the Power Platform project templates.

Managing projects
The following procedures describe some common operations for your Visual Studio
solution.
Add a new project to a Power Platform solution
Only projects created with a Power Platform Tools template should be added to a
solution created using the Power Platform Tools Solution Template. To add a new project
to a solution, follow these steps.

1. Right-click the solution in Solution Explorer, select Add, and then choose New
Project.

2. Select one of the installed Power Platform Tools templates and select Next.

3. Fill in any required information and select Create. For a plug-in or workflow activity
library, be sure to choose .NET Framework 4.6.2.

Add an existing project to a Power Platform solution


Only projects created from Power Platform Tools templates should be added to a
solution that was created using the Power Platform Tools Solution Template.

1. Right-click the solution in Solution Explorer, select Add, and then choose Existing
Project.

2. Navigate to the .csprog file of the target project, select it, and choose Open.

3. In Solution Explorer, under the CrmPackage project, right-click References and


select Add Reference.

4. In the Projects tab of the Add Reference dialog, select the (to be added) projects
from the list and then select Add to add them to the list of selected projects and
components.

5. Select OK to add the projects to the solution and close the Add Reference dialog
box.

Remove a project from a Power Platform solution


1. In Solution Explorer, right-click the project and select Remove. The project is
automatically removed from the CrmPackage references.

2. Edit the RegisterFile.crmregister XML file in the CrmPackage project and remove
any XML registration code related to the removed project.

3. Remove any deployed assembly and steps of your project from the Dataverse
environment and solution.
If you removed a plug-in or workflow activity library project from the Visual Studio
solution, you may want to also remove any related assembly and steps from the
Dataverse environment and solution. You can remove these components in Power
Platform Explorer by expanding the Plug-in Assemblies node of your environment
tree, right-click the target assembly, and choose Delete Assembly. doing so
deletes the assembly and any registered steps.

) Important

Your Dataverse logon account must own or have delete access to the
deployed assembly in order for you to delete it from the environment.

See Also
Quickstart: Create a plug-in using Power Platform Tools
Create a plug-in using Visual Studio
Article • 01/31/2025

This article provides information on how to create a plug-in using the Power Platform
Tools extension for Visual Studio.

Prerequisites
Visual Studio 2019 or 2022
Power Platform Tools extension for Visual Studio
.NET Framework 4.6.2 is required for plug-in or custom workflow activity
development
Power Apps subscription or a trial environment

Create a solution with plug-in library


Follow these instructions to create a solution with plug-in library, connect to your Power
Platform environment and register custom code assemblies, steps, and more.

1. Use Power Platform Tools extension for Visual Studio to create a new solution with
a plug-in library. For instructions, go to the Create a Power Platform Tools project
article.

If you already have an existing solution set up, follow instructions in Add a new
project to a Power Platform solution to add a Plug-in Library project to the
solution using the Power Platform Tools template.

2. In the Tools menu, select Connect to Dataverse.

3. Select the desired options in the dialog and select Login.

4. Select an existing solution or the Default solution. This solution contains your
registered plug-in and workflow activity assemblies for later distribution to other
environments.

5. Select Done when finished.

The Power Platform Explorer view is displayed or you can open that view from the View
menu. Expand the nodes to see what kinds of environment data you can view. Right-
click on nodes to see what options are available.
7 Note

The Power Platform Explorer view of the Power Platform Tools extension is capable
of more than plug-in and workflow activity registration. Documentation for
additional features will be provided in a future documentation release. In the
meantime, feel free to explore.

Register a plug-in step with Dataverse


Follow these instructions to register a plug-in step (also known as an SDK message
processing step). The step identifies what data table and event causes your plug-in to
execute. More information: Event framework, Register plug-in step

1. Select View > Power Platform Explorer, expand your environment node and the
Tables subnode.

2. Right-click on the table type (for example, "Account") that the step is to be
registered on, then select Create Plug-in.

7 Note

You can also create a plug-in by expanding the Event Catalog, right-clicking a
business event, and choose Add Plug-in.

3. Fill out the Register New Step dialog information and choose Register New Step
when done.
The class name that you specify when filling out the step information is used to
name your new plug-in class. The class is placed in the plug-in project library
specified by the Handler Assembly dialog field. If there's only one Plug-in Library
project in the solution, the Handler Assembly field is inactive.

A new step registration is added to the solution. However, you'll need to build and
deploy your plug-in library before the plug-in assembly and step are added to the
specified Dataverse environment and solution.

Add another plug-in class to the library


Let's say that you followed the steps previously described to create a plug-in class in the
plug-in project library and add a step. Now you want to add another plug-in class to
that same library. How do you do that? You have two options both are through context
menus of the Power Platform Tools extension.

1. The first method is to do the same as you did previously by expanding the Table
node in the Power Platform Explorer view, right-clicking a table type, and then
selecting Create Plug-in. When registering the step, specify the same plug-in
project library in the Handler Assembly, and the new class name in the Class
Name form field.

2. For the second method, let's say that you already built and deployed the plug-in
library assembly to the Dataverse environment. In this case, you'll see the deployed
assembly and step you created after you refresh the explorer view and expand the
Plug-in Assemblies node. At that point, you can simply right-click the target
assembly node and select Add Plug-in. Doing so displays the step registration
form, which you can now fill out for your new plug-in class.

Afterwards, build and deploy the plug-in library project to update the target
environment and solution.

Add a plug-in step


You can add a step for an existing registered plug-in that you own. To do so, expand the
target plug-in assembly node in the Power Platform Explorer view to display the
registered plug-in. Right-click that plug-in's node and select Add Step. Fill out the
Register New Step form.

You don't need to build and deploy the plug-in project for the step registration to be
available in the target environment and solution.
The PluginBase abstract class
PluginBase is automatically generated from the Plug-in Library template. Your custom

plug-in class should derive from this base class. The base class implements common
plug-in code that helps to make you more productive sooner. Take a look at the
PluginBase class code in your plug-in project to see what it does.

The generated plug-in class code


The Plug-in Library template provides the PluginBase abstract class. Your plug-in must
derive from PluginBase if it's to work well with the Power Platform Tools extension. Here
is the generated derived class when creating a plug-in from Power Platform Explorer.
You typically would add your code where the TODO comments are. Notice that the
standard IPlugin interface Execute method is now ExecuteCdsPlugin in the plug-in code.

C#

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

namespace PPTools_Sample_Solution.NotifyPlugin
{
public class NotifyAccountCreate: PluginBase
{
public NotifyAccountCreate(string unsecure, string secure)
: base(typeof(NotifyAccountCreate))
{
// TODO: Implement your custom configuration handling.
}

protected override void ExecuteCdsPlugin(LocalPluginContext


localContext)
{
if (localContext == null)
{
throw new
InvalidPluginExecutionException(nameof(localContext));
}
ITracingService tracingService = localContext.TracingService;

try
{
IPluginExecutionContext context =
(IPluginExecutionContext)localContext.PluginExecutionContext;

IOrganizationService service =
localContext.OrganizationService;
// TODO: Implement your custom Plug-in business logic.

}
catch (Exception ex)
{
tracingService?.Trace("An error occurred executing Plugin
PPTools_Sample_Solution.NotifyPlugin.NotifyAccountCreate : {0}",
ex.ToString());
throw new InvalidPluginExecutionException("An error occurred
executing Plugin PPTools_Sample_Solution.NotifyPlugin.NotifyAccountCreate
.", ex);
}
}
}
}

At this point, you would add your custom plug-in code where indicated by the TODO
code comments. For more information, read some of these related articles: Pass
configuration data to your plug-in, Understand the execution context, and Tracing and
logging.

) Important

We encourage you to use the Power Platform Tools context menus. When you use
the Power Platform Explorer context menus to add plug-ins, classes are generated
using the provided information and deployment entries in the CrmPackage
project's RegisterFile.crmregister file are maintained. It is this information that is
used for deployment of assemblies, plug-ins, and steps.

Sign the assembly


All plug-in and custom workflow assemblies must be digitally signed before they're
uploaded to the Dataverse server. To sign the assembly, follow these steps.

1. Select the plug-in or workflow activity project in Solution Explorer.

2. Choose Project > <project name> Properties to edit the project's properties.

3. On the Signing tab, check Sign the assembly, and then specify a strong name key
file.

Deploy the plug-in to the environment solution


After you're done modifying code and are ready to deploy the plug-in assembly and
steps to your environment, follow these steps.

1. Build the plug-in library.

2. Right-click the plug-in library project in Solution Explorer.

3. Select Deploy in the context menu.

 Tip

You can deploy all projects in the Visual Studio solution by right-clicking the
CrmPackage project and choosing Deploy.

After deployment completes, select the refresh icon in Power Platform Explorer. Expand
the Plug-in Assemblies subnode of your environment node to see your registered
assembly. Right-click on the plug-in assembly and step in Power Platform Explorer to
see what operations are supported. Selecting Delete Assembly unregisters the assembly
and its related steps.

Add an entity image


Entity images are snapshots of entity data before or after the core operation (for
example: a create or update). You may (optionally) add entity images on plug-in steps
using the Power Platform Explorer view. To add an image to a step in the Power
Platform Explorer view, expand the Plug-in Assemblies node tree to display the target
plug-in step, and then right-click on the step to display the context menu from which
you can choose Add Image.

You can also add an image in the Power Platform Explorer view under Event Catalog on
a step of an event plug-in.
After you select Add Image in the context menu, fill out the form that appears.

In the form, Pre Image/Post Image specifies the entity data as it exists before (Pre) or
after (Post) the core operation. The Name field defines the logical name of the entity
that you want data for. Entity Alias is the named index that you'll use in your code to
identify the row in the image table that contains the target entity data. Parameters is
the list of entity data columns that you want. Click the "..." button to the right of the
Parameters form field and then specify only the columns that you need since plug-in
performance is reduced the more columns you specify.

More information: Define entity images.

Providing tool feedback


You can send tool feedback to Microsoft using the feedback icon in the Power Platform
Explorer view.

See Also

Tutorial: Debug a plug-in


Event framework
Use plug-ins to extend business processes

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Create and register a plug-in package
using Visual Studio
Article • 11/03/2023

In this article you'll learn how to create a plug-in package, and then upload and register
it on the Dataverse server. You'll be using Visual Studio with the Power Platform Tools
extension to create the plug-in package, upload and register the package, and perform
some other package management tasks.

This article helps you:

" Create a Visual Studio plug-in project


" Add a dependent assembly to the project and build
" Use Visual Studio to upload and register your package
" Use Visual Studio to update and delete a package

More information: Build and package plug-in code.

Prerequisites
Access to a Dataverse environment
A system user account, with System Administrator or System Customizer role, in
the target environment
Visual Studio 2019 with Power Platform Tools extension installed

Review these articles related to installing and using Power Platform Tools for Visual
Studio.

What is Power Platform Tools for Visual Studio


Create a Power Platform Tools project
Create a plug-in using Power Platform Tools

Enable plug-in packages for Power Platform


Tools
Power Platform Tools for Visual Studio provides several configuration options as
described in Power Platform Tools options.

1. In Visual Studio, go to Tools > Options and search for Power Platform tools.
2. Select Use NuGet package for deploying plug-ins to Dataverse.

7 Note

When this option is selected, all your plug-in projects will be deployed as plug-in
packages.

Add a dependent assembly to your project


You can add a NuGet package for satisfying required references to your Visual Studio
project as you normally do. After you build the project, you should find your plug-in
assembly in the generated NuGet package located in the bin\outputPackages folder.

You can use NuGet Package Explorer to examine the generated NuGet package.

Add a dependent assembly without using NuGet


If you have an assembly that isn't distributed as a NuGet package, you can add it to your
project as you normally do. In Solution Explorer, right-click Dependencies and choose
Add Assembly Reference.... Select the assembly you want to add.

Deploy plug-in packages


To deploy (upload and register) your plug-in package, in Solution Explorer right-click
the plug-in project and select Deploy from the context menu.
When you deploy for the first time, you should see a message in the output window that
informs you that the plug-in package was created:

6/22/2022 3:03:17 PM : registration of Plugin Package


sample_PowerPlatformVSSolution.ExamplePlugins,
at
E:\projects\PowerPlatformVSSolution\ExamplePlugins\bin\outputPackages\PowerP
latformVSSolution.ExamplePlugins.1.0.0.nupkg was successful.
ID allotted was 06a20e15-77f2-ec11-bb3c-000d3a892245.

Each time you deploy after that, you'll see a message in the output window that informs
you that the plug-in package was updated.

6/22/2022 3:20:14 PM : update of Plugin Package


sample_PowerPlatformVSSolution.ExamplePlugins, at
E:\projects\PowerPlatformVSSolution\ExamplePlugins\bin\outputPackages\PowerP
latformVSSolution.ExamplePlugins.1.0.0.nupkg was successful.

) Important

If your update removes any plug-in assemblies, or types which are used in plug-in
step registrations, the update will be rejected. You must manually remove any step
registrations that use plug-in assemblies or plug-in types that you want to remove
with your update.
The version of the plug-in package or plug-in assembly is not a factor in any
upgrade behaviors. You can update the versions of these items as you need.

Plug-in package management


Within Visual Studio, you can perform additional operations on plug-in packages as
described in the next sections.

View plug-in packages with Power Platform Tools


Within the Power Platform Explorer, you can view available plug-in packages.

Create a plug-in package, alternate method


As mentioned in Deploy plug-in packages, you will not typically have to create a plug-in
package in the usual flow of creating a plug-in. It will be created automatically the first
time you deploy the plug-in while the Use NuGet package for deploying plug-ins to
Dataverse option is set in Visual Studio. However, you can create a new plug-in package
from a NuGet package using the following steps.

1. Within the Power Platform Explorer, select Plug-in Packages and select Create
from the context menu.
2. This command opens the Import new plug-in package dialog.

3. Select the NuGet package and choose which solution it should be added to, or
create a new solution.

Delete a plug-in package


Within the Power Platform Explorer, select a plug-in package and then select Delete
from the context menu.
) Important

Deleting a package will delete the package, all assemblies within it, all plug-ins
within the assembly, and any plug-in step registrations for the plug-ins.

Update a plug-in package, alternate method


As mentioned in Deploy plug-in packages, you will not typically have to update a plug-
in package in the usual flow of creating a plug-in. It will be updated automatically each
time you deploy the plug-in while the Use nuget package for deploying plug-ins to
Dataverse option is set in Visual Studio. However, you can update a new plug-in
package from a Nuget package using the steps below.

Within the Power Platform Explorer, select a plug-in package and select Update from
the context menu.
This command opens a dialog so you can select a NuGet package to update the plug-in
package.
Visual Studio connected service
Article • 02/16/2024

Developers can use Connected Services within Visual Studio to create custom
connectors. Connected Services is a collection of tools in Visual Studio that help you
connect to services. With the existing capabilities developers have to build Microsoft
Azure Functions or APIs in Visual Studio, the Connected Services integration offers a
complete end-to-end experience in custom connector development.

For Visual Studio 2022 17.7, we added Connected Services support for the Microsoft
Power Platform for ASP.NET Core web API projects. This integration allows you to:

Connect to a Power Platform environment.


Automatically generate a custom connector for your Power Platform environment.
Configure a dev tunnel to locally connect to your custom connector.

Dev tunnels create an ad-hoc connection between your web API running locally and
your Power Apps. You can use them to locally test and debug your web API in the
context of the Power Platform in real-time (inner loop).

Prerequisites
Visual Studio 2022 version 17.7 with the ASP.NET and web development workload
installed. You need to be signed in to Visual Studio to create and use dev tunnels.
The feature isn't available in Visual Studio for Mac.

An ASP.NET Core web API project

A Power Platform developer environment

Limitations
The current integration works only for the following configurations of dev tunnels:

Tunnel type: Persistent


Access type: Public

Next steps
To get started, right-click the Connected Services node in Solution Explorer and select
Manage Connected Services. Search for and select Power Platform, and then set up
your connection.

Create a canvas app front end for your ASP.NET web API
Create a canvas app front end for your
ASP.NET web API (preview)
Article • 06/15/2023

[This article is pre-release documentation and is subject to change.]

Power Platform enables web API developers to quickly build mobile or web applications
using a Power Apps canvas app as a front end. With the Power Platform connected
service in Visual Studio 2022, ASP.NET web API developers can easily create a custom
connector for use with Power Apps and Power Automate.

You can use Visual Studio dev tunnels to create a canvas app before you publish your
API to a public endpoint. Dev tunnels create an ad-hoc connection between your web
API running locally and your Power Apps. You can use them to locally test and debug
your web API in the context of the Power Platform in real-time (inner loop).

This tutorial uses the sample ASP.NET Weather web API to add a connection to a canvas
app. It's based on the Create a web API with ASP.NET Core tutorial.

Prerequisites
Visual Studio 2022 version 17.6 Preview 2 with the ASP.NET and web development
workload installed. You need to be signed in to Visual Studio to create and use dev
tunnels. The feature isn't available in Visual Studio for Mac.
A Power Platform developer environment with permission to create custom
connectors

Create an ASP.NET project in Visual Studio


1. Create an ASP.NET Core web API project.
2. Select Next.
3. Enter WeatherSample for the Project name, and then select Next.
4. Select Create.

The WeatherSample project contains an example controller for a RESTful HTTP service.

Add Power Platform as a connected service


1. In Solution Explorer, right-click the Connected Services node and select Manage
Connected Services from the context menu.

2. In the Connected Services tab, select the + icon for Service Dependencies.

3. On the Add dependency dialog, type Power Platform into the search box.

4. Select Microsoft Power Platform, and then select Next.

If you aren't signed in already, sign into your Microsoft Power Platform account. If
you don't have a Power Platform account, Create a Developer Environment.

5. In the Connect to Microsoft Power Platform screen: select your developer


environment.

6. In Custom connectors name, the value WeatherSample_Connector should already


be set.

7. In Select a public dev tunnel, select the + icon.


a. In the field Name, type SampleTunnel .
b. Select Tunnel Type: Persistent.
c. Select Access : public.
d. Select OK.

8. Select Finish

9. Once the connected service is configured, select Close.

Create a canvas app with the custom connector


When Visual Studio runs a web app and a tunnel is active, the web browser opens to a
tunnel URL instead of a localhost URL.

1. Run your Visual Studio solution and start debugging.

2. When the browser opens, a warning page opens with the first request sent to the
tunnel URL. Select Continue.

3. With the web API running, open Power Apps in a new browser tab.

4. Select your developer environment in the upper-right corner.

5. Create a blank canvas app with Phone as the format.

6. In the top menu, select Add data.

7. Search for and select the WeatherSample_Connector, and then select Connect.
More information: Add connections to your canvas app

8. Insert a button and drag it to the bottom of the form.

9. Change the button Text to Load Data.

10. Enter the following formula in the button's OnSelect property:

Power Fx

ClearCollect(weatherCollection,
WeatherSample_Connector.GetWeatherForecast())

11. Insert a vertical gallery

12. Select the weatherCollection as the data source, and then change the layout to
Title and subtitle.

13. Run the app. It should look like the following example:
Debug your API
With your canvas app running, set a breakpoint and debug it. You can also use Hot
Reload.

See also
What are canvas apps
How to use dev tunnels in Visual Studio 2022 with ASP.NET Core apps

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Power Platform ALM developer tools
Article • 05/14/2024

Use the following application lifecycle management (ALM) developer tools to create and
manage projects for testing, deployment, maintenance, and governance of solutions.

Power Platform Build Tools for Azure DevOps


Use Microsoft Power Platform Build Tools for Azure DevOps to automate common build
and deployment tasks related to apps built on Microsoft Power Platform.

More information: Microsoft Power Platform Build Tools for Azure DevOps

GitHub actions for Power Platform


With GitHub actions for Microsoft Power Platform, you can:

Create workflows in your repository to build, test, package, release, and deploy
apps
Perform automation
Manage bots and other components built on Power Platform

More information: GitHub Actions for Power Platform

See also
Power Platform Build Tools for Azure DevOps release notes
GitHub Actions for Power Platform release notes
Power Platform ALM guide
Power Platform ALM for developers

Feedback
Was this page helpful?  Yes  No

Provide product feedback


Dataverse developer tools
Article • 03/30/2023

Microsoft Dataverse is the underlying data platform for Power Platform that stores
business data for building apps, workflows, websites, intelligent virtual agents, reports,
and analytics. More info:

What is Dataverse
Developers: Get started with Microsoft Dataverse

Dataverse provides various tools for developers to extend the data platform capabilities,
such as Configuration Migration tool, Package Deployer tool, Plug-in Registration tool,
SolutionPackager tool, and Code Generation tool.

Go to this article in the Dataverse developer guide to find detailed information about
how to download, launch, and use these tools: Dataverse development tools

See also
Dataverse developer guide

You might also like