Skip to content

Commit 4bad585

Browse files
authored
Merge pull request MicrosoftDocs#4450 from MicrosoftDocs/jdaly-master-IsCustomProcessingStepAllowedForOtherPublishers
Jdaly master is custom processing step allowed for other publishers
2 parents f7bb091 + 81cd200 commit 4bad585

File tree

6 files changed

+139
-100
lines changed

6 files changed

+139
-100
lines changed

powerapps-docs/developer/data-platform/custom-actions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Create your own messages (Microsoft Dataverse) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
33
description: "Learn about creating your own custom Microsoft Dataverse messages to be executed from your applications, and how these custom messages differ from using the Custom API feature." # 115-145 characters including spaces. This abstract displays in the search result.
44
ms.custom: ""
5-
ms.date: 03/25/2021
5+
ms.date: 04/28/2021
66
ms.reviewer: "pehecke"
77
ms.service: powerapps
88
ms.topic: "article"
@@ -41,7 +41,7 @@ The following table describes some of the different capabilities.
4141
|Declarative logic with workflow |Yes|No|Workflow Actions can have logic defined without writing code using the Classic Workflow designer. <br />Custom APIs require a plug-in written in .NET to implement logic that is applied on the server.|
4242
|Require specific privilege|No|Yes|With Custom API you can designate that a user must have a specific privilege to call the message. If the user doesn’t have that privilege through their security roles or team membership, an error will be returned.|
4343
|Define main operation logic with code|Yes|Yes|With Custom Process Actions the main operation processes the Workflow definition which may include custom workflow activities. The code in these custom workflow activities is processed in the main operation together with any other logic in the workflow.<br /><br />With Custom API the message creator simply associates their plug-in type with the Custom API to provide the main operation logic.|
44-
|Block Extension by other plug-ins|No|Yes|All messages defined using Custom Process Actions are extensible. This means any 3rd party developer can apply additional logic in a plug-in registered on the `PreValidation`, `PreOperation`, or `PostOperation` stages of the message to change the behavior.<br /><br />If a 3rd party plug-in step is synchronous, it means that logic or errors in plug-ins that extend your message can cause the message defined by a Custom Process Action to fail. With a Custom API you can block this.|
44+
|Block Extension by other plug-ins|Yes|Yes| With Custom Process actions set the [IsCustomProcessingStepAllowedForOtherPublishers](/reference/entities/workflow#BKMK_IsCustomProcessingStepAllowedForOtherPublishers) managed property to `true` if you wish to allow 3rd party plug-ins to run when registered on the message for your custom process action. When set to `false`, only plug-ins from the same solution publisher will run when a plug-in step is registered for the message.<br /><br /> For Custom API, set the [AllowedCustomProcessingStepType](/reference/entities/customapi#BKMK_AllowedCustomProcessingStepType) to control whether any plug-ins steps may be registered, or if only asynchronous plug-ins may be registered.|
4545
|Make message private|No|Yes|When you create a message using a Custom Process Action, it is exposed publicly in the endpoint for anyone else to discover and use. If someone else takes a dependency on the message you created, their code will be broken if you remove, rename, or change the input or output parameter signature in the future.<br /><br />If you do not intend for your message to be used by anyone else, you can mark it as a private message. This will indicate that you do not support others using the message you create, and it will not be included in definitions of available functions or actions exposed by the Web API $metadata service definition. Classes for calling these messages will not be generated using code generation tools, but you will still be able to use it.|
4646
|Localizable names and descriptions|No|Yes|While Custom Process Actions provide for a friendly name for the custom action and any input and output parameters it uses, these values are not localizable. With Custom API you can provide localizable names and descriptions. These localized strings can then be bound to controls that provide a UI to use the message.|
4747
|Create OData Function|No|Yes| The Dataverse Web API is an OData web service. OData provides for two types of operations: *Actions* & *Functions*.<br /><ul><li>An **Action** is an operation that makes changes to data in the system. It is invoked using the Http POST method and parameters are passed in the body of the request.</li><li>A **Function** is an operation that makes no change to data, for example an operation that simply retrieves data. It is invoked using an Http GET method and the parameters are passed in the URL of the request</li></ul><br/>Custom Process Actions are always Actions. Custom API provides the option to define custom Functions.<br />There is nothing to prevent you from defining all operations as Actions if you wish. But some operations may be best expressed using a GET request available by defining a function. <br />**Note**: The Power Automate Common Data Service (current environment) connector only exposes Actions currently.|

powerapps-docs/maker/TOC.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1952,11 +1952,11 @@
19521952
items:
19531953
- name: Use actions
19541954
href: ./data-platform/actions.md
1955-
- name: Create a custom action
1955+
- name: Create a custom process action
19561956
href: ./data-platform/create-actions.md
1957-
- name: Configure custom actions from a real-time workflow
1957+
- name: Configure actions from a real-time workflow
19581958
href: ./data-platform/configure-actions.md
1959-
- name: Invoke custom actions from a real-time workflow
1959+
- name: Invoke actions from a real-time workflow
19601960
href: ./data-platform/invoke-custom-actions-workflow-dialog.md
19611961
- name: Work with solutions
19621962
items:

powerapps-docs/maker/data-platform/actions.md

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
2-
title: "Use actions | MicrosoftDocs"
3-
description: "With actions, you can perform operations, such as Create, Update, Delete, Assign, or Perform Action. Internally, an action creates a custom message."
2+
title: "Use custom process actions | MicrosoftDocs"
3+
description: "With custom process actions, you can perform operations, such as Create, Update, Delete, Assign, or Perform Action. Internally, an custom process action creates a custom message."
44
ms.custom: ""
5-
ms.date: 08/07/2018
5+
ms.date: 04/28/2021
66
ms.reviewer: ""
77
ms.service: powerapps
88
author: MSFTMAN
@@ -19,25 +19,30 @@ search.audienceType:
1919
- flowmaker
2020
- enduser
2121
---
22-
# Use actions
2322

23+
# Use Custom process actions
2424

25-
[!INCLUDE[cc-data-platform-banner](../../includes/cc-data-platform-banner.md)]
26-
27-
Actions open a range of possibilities for composing business logic. With actions, you can perform operations, such as Create, Update, Delete, Assign, or Perform Action. Internally, an action creates a custom message. Developers refer to these actions as *messages*. Each of these messages is based on actions taken on a table row. If the goal of a process is to create a row, then update it, and then assign it, there are three separate steps. Each step is defined by the capabilities of the table—not necessarily your business process.
25+
Custom process actions, also known as *Custom actions*, or just *actions*. open a range of possibilities for composing business logic. With custom process actions, you can perform operations, such as Create, Update, Delete, Assign, or Perform Action. Internally, a custom process action creates a custom message. Developers refer to these actions as *messages*. If the goal of a process is to create a row, then update it, and then assign it, there are three separate steps. Each step is defined by the capabilities of the table—not necessarily your business process.
2826

29-
Actions provide the ability to define a single verb (or message) that matches an operation you need to perform for your business. These new messages are driven by a process or behavior rather than what can be done with a table. These messages can correspond to verbs like Escalate, Convert, Schedule, Route, or Approve—whatever you need. The addition of these verbs helps provide a richer vocabulary for you to fluently define your business processes. You can apply this richer vocabulary from clients or integrations rather than having to write the action within clients. This also makes it easier because you can manage and log the success or failure of the entire action as a single unit.
27+
Custom process actions provide the ability to define a single verb (or message) that matches an operation you need to perform for your business. These new messages are driven by a process or behavior rather than what can be done with a table. These messages can correspond to verbs like Escalate, Convert, Schedule, Route, or Approve—whatever you need. The addition of these verbs helps provide a richer vocabulary for you to fluently define your business processes. You can apply this richer vocabulary from clients or integrations rather than having to write the action within clients. This also makes it easier because you can manage and log the success or failure of the entire action as a single unit.
3028

31-
<a name="BKMK_ConfigurableMessages"></a>
32-
## Configurable messages
33-
Once an action is defined and activated, a developer can use that message like any of the other messages provided by the platform. However, a significant difference is that now someone who is not a developer can apply changes to what should be done when that message is used. You can configure the action to modify steps as your business processes change. Any custom code that uses that message does not need to be changed as long as the process arguments do not change.
29+
<a name="BKMK_ConfigurableMessages"></a>
30+
31+
## Configurable messages
32+
33+
Once an custom process action is defined and activated, a developer can use that message like any of the other messages provided by the platform. However, a significant difference is that now someone who is not a developer can apply changes to what should be done when that message is used. You can configure the custom process action to modify steps as your business processes change. Any custom code that uses that message does not need to be changed as long as the process arguments do not change.
3434

35-
Workflow processes and plug-ins continue to provide similar capabilities for defining automation. Workflow processes still provide the capability for a non-developer to apply changes. But the difference is in how the business processes are composed and how a developer can write their code. An action is a message that operates on the same level as any of the messages provided by the platform. Developers can register plug-ins for actions.
35+
Workflow processes and plug-ins continue to provide similar capabilities for defining automation. Workflow processes still provide the capability for a non-developer to apply changes. But the difference is in how the business processes are composed and how a developer can write their code. A custom process action is a message that operates on the same level as any of the messages provided by the platform. Developers can register plug-ins for actions.
36+
37+
> [!NOTE]
38+
> If you intend to write a plug-in to implement your logic for a custom process action instead of using the workflow designer, you should use Custom API instead. More information: [Compare Custom Process Action and Custom API](../../developer/data-platform/custom-actions.md#compare-custom-process-action-and-custom-api)
39+
3640

37-
<a name="BKMK_GlobalMessages"></a>
41+
<a name="BKMK_GlobalMessages"></a>
42+
3843
## Global messages
3944

40-
Unlike Microsoft Dataverse workflows or [plug-ins](../../developer/data-platform/apply-business-logic-with-code.md?branch=master#create-a-plug-in), an action doesn’t have to be associated with a specific table. You can define global actions that can be called on their own.
45+
Unlike Microsoft Dataverse workflows, an action doesn’t have to be associated with a specific table. You can define global actions that can be called on their own.
4146

4247
## Next steps
4348

0 commit comments

Comments
 (0)