Skip to content

Commit 62b5b63

Browse files
authored
Merge pull request #310412 from ecfan/power-platform
[Azure Logic Apps] Dataverse triggers - Add info about Power Platform service tag
2 parents bd58edd + 0e04b2d commit 62b5b63

1 file changed

Lines changed: 30 additions & 81 deletions

File tree

articles/logic-apps/connectors/dataverse.md

Lines changed: 30 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
---
2-
title: Connect workflows to Microsoft Dataverse
3-
description: Learn to access Dataverse databases from workflows in Azure Logic Apps.
2+
title: Connect Workflows to Microsoft Dataverse
3+
description: Learn how to access Dataverse databases from workflows in Azure Logic Apps.
44
services: logic-apps
55
ms.suite: integration
66
ms.reviewer: estfan, azla
77
ms.topic: how-to
8-
ms.date: 07/20/2025
8+
ms.date: 01/13/2026
99
ms.custom: engagement-fy23
10+
#Customer intent: As a developer who works with Azure Logic Apps, I want to learn how to connect my workflow to Microsoft Dataverse.
1011
---
1112

1213
# Connect to Microsoft Dataverse from workflows in Azure Logic Apps
@@ -19,7 +20,7 @@ For example, you can build workflows that create rows, update rows, and perform
1920

2021
The Dataverse connector was previously known as the Common Data Service 2.0 connector and originally known as the Dynamics 365 connector. You can use the Dataverse connector to access Microsoft Dataverse for Microsoft Dynamics 365 Sales, Microsoft Dynamics 365 Customer Service, Microsoft Dynamics 365 Field Service, Microsoft Dynamics 365 Customer Insights - Journeys, and Microsoft Dynamics 365 Project Service Automation.
2122

22-
This article shows how to add a Dataverse trigger or action to your workflow and how parameter options work.
23+
This guide shows how to add a Dataverse trigger or action to your workflow and how the parameter options work.
2324

2425
> [!IMPORTANT]
2526
>
@@ -38,39 +39,39 @@ For technical information based on the connector's Swagger description, such as
3839

3940
## Prerequisites
4041

41-
* An Azure account and subscription. If you don't have a subscription, [sign up for a free Azure account](https://azure.microsoft.com/pricing/purchase-options/azure-account?cid=msft_learn).
42+
- An Azure account and subscription. [Get a free Azure account](https://azure.microsoft.com/pricing/purchase-options/azure-account?cid=msft_learn).
4243

43-
* A [Dataverse Data Service environment and database](/power-platform/admin/environments-overview), which is where your organization stores, manages, and shares business data in a Dataverse database. For more information, see the following resources:
44+
- A [Dataverse Data Service environment and database](/power-platform/admin/environments-overview), which is where your organization stores, manages, and shares business data in a Dataverse database.
4445

45-
* [Learn: Create and manage Dataverse environments](/training/modules/create-manage-environments/)
46+
For more information, see:
4647

47-
* [Power Platform - Environments overview](/power-platform/admin/environments-overview)
48+
- [Learn: Create and manage Dataverse environments](/training/modules/create-manage-environments/)
49+
- [Power Platform - Environments overview](/power-platform/admin/environments-overview)
4850

49-
* Basic knowledge about Azure Logic Apps along with the Consumption or Standard logic app resource and workflow from where you want to access your Dataverse database. To use a Dataverse trigger, you need a blank workflow. To use a Dataverse action, you need a workflow that starts with any trigger appropriate for your scenario.
51+
> [!NOTE]
52+
>
53+
> Some scenarios might require that you enable access restrictions on your logic app resource to control inbound access from public networks. If you allow inbound communication from Power Platform to trigger your workflow by using the **PowerPlatformInfra** service tag, make sure that you use the non-region version.
5054
51-
For more information, see the following resources:
55+
- Basic knowledge about Azure Logic Apps along with the Consumption or Standard logic app resource and workflow from where you want to access your Dataverse database. To use a Dataverse trigger, you need a blank workflow. To use a Dataverse action, you need a workflow that starts with any trigger appropriate for your scenario.
5256

53-
* [Create an example Consumption logic app workflow](../quickstart-create-example-consumption-workflow.md)
57+
For more information, see:
5458

55-
* [Create an example Standard logic app workflow](../create-single-tenant-workflows-azure-portal.md)
59+
- [Create an example Consumption logic app workflow](../quickstart-create-example-consumption-workflow.md)
60+
- [Create an example Standard logic app workflow](../create-single-tenant-workflows-azure-portal.md)
5661

5762
## Add a Dataverse trigger
5863

5964
Based on whether you have a Consumption or Standard logic app workflow, follow the corresponding steps:
6065

61-
### [Consumption](#tab/consumption)
66+
1. In the [Azure portal](https://portal.azure.com), open your logic app workflow in the designer.
6267

63-
1. In the [Azure portal](https://portal.azure.com), open your Consumption logic app resource.
64-
65-
1. On the resource sidebar, under **Development Tools**, select the designer to open the workflow.
66-
67-
1. On the designer, follow the [general steps to add the **Microsoft Dataverse** trigger for your scenario](../add-trigger-action-workflow.md?tabs=consumption#add-trigger) to your workflow.
68+
1. Follow the [general steps](../add-trigger-action-workflow.md#add-trigger) to add the appropriate **Microsoft Dataverse** trigger for your scenario.
6869

6970
This example continues with the trigger named [**When a row is added, modified or deleted**](/connectors/commondataserviceforapps/#when-a-row-is-added,-modified-or-deleted).
7071

7172
1. At the prompt, sign in to your Dataverse environment or database.
7273

73-
1. In the trigger information box, provide the necessary trigger values.
74+
1. In the trigger information box, provide the necessary parameter values.
7475

7576
The following example shows the sample trigger:
7677

@@ -82,77 +83,25 @@ Based on whether you have a Consumption or Standard logic app workflow, follow t
8283

8384
For example, you can add a Dataverse action or an action that sends email based on the outputs from the trigger.
8485

85-
### [Standard](#tab/standard)
86-
87-
1. In the [Azure portal](https://portal.azure.com), open your Standard logic app resource.
88-
89-
1. On the resource sidebar, under **Workflows**, select **Workflows**, and then select your workflow.
90-
91-
1. On the workflow sidebar, under **Tools**, select the designer to open the workflow.
92-
93-
1. On the designer, follow the [general steps to add the **Microsoft Dataverse** trigger for your scenario](../add-trigger-action-workflow.md?tabs=standard#add-trigger) to your workflow.
94-
95-
This example continues with the trigger named [**When a row is added, modified or deleted**](/connectors/commondataserviceforapps/#when-a-row-is-added,-modified-or-deleted).
96-
97-
1. At the prompt, sign in to your Dataverse environment or database.
98-
99-
1. In the trigger information box, provide the necessary trigger values.
100-
101-
The following example shows the sample trigger:
102-
103-
:::image type="content" source="media/dataverse/dataverse-trigger-example.png" alt-text="Screenshot shows Standard workflow designer and example trigger." lightbox="media/dataverse/dataverse-trigger-example.png":::
104-
105-
1. When you're done, save your workflow. On the designer toolbar, select **Save**.
106-
107-
1. Now add at least one action for your workflow to perform when the trigger fires. For example, you can add a Dataverse action or an action that sends email based on the outputs from the trigger.
108-
109-
---
110-
11186
## Add a Dataverse action
11287

113-
Based on whether you have a Consumption or Standard logic app workflow, follow the corresponding steps:
114-
115-
### [Consumption](#tab/consumption)
116-
117-
1. In the [Azure portal](https://portal.azure.com), open your Consumption logic app resource.
118-
119-
1. On the resource sidebar, under **Development Tools**, select the designer to open the workflow.
88+
1. In the [Azure portal](https://portal.azure.com), open your logic app workflow in the designer.
12089

121-
1. On the designer, follow these [general steps to add the **Microsoft Dataverse** action for your scenario](../add-trigger-action-workflow.md?tabs=consumption#add-action) to your workflow.
90+
1. Follow the [general steps](../add-trigger-action-workflow.md#add-action) to add the appropriate **Microsoft Dataverse** action for your scenario.
12291

12392
This example continues with the action named [**Add a new row**](/connectors/commondataserviceforapps/#add-a-new-row).
12493

12594
1. At the prompt, sign in to your Dataverse environment or database.
12695

127-
1. In the action information box, provide the necessary action values.
96+
1. In the action information box, provide the necessary parameter values.
12897

12998
The following example shows the sample action:
13099

131100
:::image type="content" source="media/dataverse/dataverse-action-example.png" alt-text="Screenshot shows Consumption workflow designer and example action." lightbox="media/dataverse/dataverse-action-example.png":::
132101

133102
1. When you're done, save your workflow. On the designer toolbar, select **Save**.
134103

135-
1. Continue adding more actions, if you want.
136-
137-
### [Standard](#tab/standard)
138-
139-
1. In the [Azure portal](https://portal.azure.com), open your Standard logic app resource.
140-
141-
1. On the resource sidebar, under **Workflows**, select **Workflows**, and then select your workflow.
142-
143-
1. On the workflow sidebar, under **Tools**, select the designer to open the workflow.
144-
145-
1. On the designer, follow these [general steps to add the **Microsoft Dataverse** action for your scenario](../create-workflow-with-trigger-or-action.md?tabs=standard#add-action) to your workflow.
146-
147-
This example continues with the action named [**Add a new row**](/connectors/commondataserviceforapps/#add-a-new-row).
148-
149-
:::image type="content" source="media/dataverse/dataverse-action-example.png" alt-text="Screenshot shows Standard workflow designer and example action." lightbox="media/dataverse/dataverse-action-example.png":::
150-
151-
1. When you're done, save your workflow. On the designer toolbar, select **Save**.
152-
153-
1. Continue adding more actions, if you want.
154-
155-
---
104+
1. Add more actions if you want.
156105

157106
## Test your workflow
158107

@@ -164,7 +113,7 @@ To run your workflow, follow these steps:
164113

165114
## Return rows based on a filter
166115

167-
For actions that return rows, such as the **List rows** action, you can use an ODATA query that returns rows based on the specified filter. For example, you can set up the action to return only rows for active accounts.
116+
For actions that return rows, such as the **List rows** action, use an ODATA query to return rows based on the specified filter. For example, set up the action to return only rows for active accounts.
168117

169118
1. On the designer, in the action, open the **Advanced parameters** list, and select the **Filter rows** parameter.
170119

@@ -183,13 +132,13 @@ For more information, see the following documentation:
183132

184133
## Return rows based on a sort order
185134

186-
For actions that return rows, such as the **List rows** action, you can use an ODATA query that returns rows in a specific sequence, which varies based on the rows that the action returns. For example, you can set up the action to return rows organized by the account name.
135+
For actions that return rows, such as the **List rows** action, use an ODATA query to return rows in a specific sequence. The sequence varies based on the rows that the action returns. For example, you can set up the action to return rows organized by the account name.
187136

188137
1. On the designer, in the action, open the **Advanced parameters** list, and select the **Sort By** parameter.
189138

190139
:::image type="content" source="media/dataverse/dataverse-action-sort-by.png" alt-text="Screenshot shows workflow, a Dataverse action, and Sort By parameter." lightbox="media/dataverse/dataverse-action-sort-by.png":::
191140

192-
1. In the **Sort By** parameter that now appears in the action, enter the column name to use for sorting, for example, **name**:
141+
1. In the **Sort By** parameter that now appears in the action, enter the column name to use for sorting, such as **name**:
193142

194143
:::image type="content" source="media/dataverse/dataverse-action-sort-by-column.png" alt-text="Screenshot shows workflow, a Dataverse action, and Sort By parameter with column name." lightbox="media/dataverse/dataverse-action-sort-by-column.png":::
195144

@@ -208,7 +157,7 @@ For example, suppose that you have a table named **Tasks**. This table has field
208157
|-------|-----------|-------------|
209158
| Text field | Single line of text | Requires either a single line of text or dynamic content that has the text data type, for example, these properties: <br><br>- **Description** <br>- **Category** |
210159
| Integer field | Whole number | Requires either an integer or dynamic content that has the integer data type, for example, these properties: <br><br>- **Percent Complete** <br>- **Duration** |
211-
| Date field | Date and Time | Requires either a date in MM/DD/YYY format or dynamic content that has the date data type, for example, these properties: <br><br>- **Created On** <br>- **Start Date** <br>- **Actual Start** <br>- **Actual End** <br>- **Due Date** |
160+
| Date field | Date and Time | Requires either a date in MM/DD/YYYY format or dynamic content that has the date data type, for example, these properties: <br><br>- **Created On** <br>- **Start Date** <br>- **Actual Start** <br>- **Actual End** <br>- **Due Date** |
212161
| Field that references another entity row | Primary key | Requires both a row ID, such as a GUID, and a lookup type, which means that values from the dynamic content list won't work, for example, these properties: <br><br>- **Owner**: Must be a valid user ID or a team row ID. <br>- **Owner Type**: Must be a lookup type such as `systemusers` or `teams`, respectively. <br><br>- **Regarding**: Must be a valid row ID such as an account ID or a contact row ID. <br>- **Regarding Type**: Must be a lookup type such as `accounts` or `contacts`, respectively. <br><br>- **Customer**: Must be a valid row ID such as an account ID or contact row ID. <br>- **Customer Type**: Must be the lookup type, such as `accounts` or `contacts`, respectively. |
213162

214163
For the example **Tasks** table, suppose you use the **Add a new row** action to create a new row that's associated with other entity rows, specifically a user row and an account row. So, in this action, you must specify the IDs and lookup types for those entity rows by using values that match the expected data types for the relevant properties.
@@ -225,7 +174,7 @@ The resulting action looks like the following example:
225174

226175
### Calls from multiple environments
227176

228-
The Dataverse connector stores information about the logic app workflows that get and require notifications about database entity changes by using the `callbackregistrations` entity in your Dataverse database. If you copy a Dataverse organization, any webhooks are copied too. If you copy your organization before you disable workflows that are mapped to your organization, any copied webhooks also point at the same logic app workflows, which then get notifications from multiple organizations.
177+
The Dataverse connector stores information about the logic app workflows that get and require notifications about database entity changes by using the `callbackregistrations` entity in your Dataverse database. If you copy a Dataverse organization, any webhooks are automatically copied. If you copy your organization before you disable workflows that are mapped to your organization, any copied webhooks point at the same logic app workflows. These workflows then get notifications from multiple organizations.
229178

230179
To stop unwanted notifications, delete the `callbackregistrations` entity from the organization that sends those notifications by following these steps:
231180

@@ -284,7 +233,7 @@ To stop unwanted notifications, delete the `callbackregistrations` entity from t
284233

285234
### Duplicate 'callbackregistrations' entity
286235

287-
In Standard workflows, under specific conditions such as instance reallocation or application restart, the Microsoft Dataverse trigger starts a duplicate run, which creates a duplicate `callbackregistrations` entity in your Dataverse database. If you edit a Standard workflow that starts with a Dataverse trigger, check whether this `callbackregistrations` entity is duplicated. If the duplicate exists, manually delete the duplicate `callbackregistrations` entity.
236+
In Standard workflows, under specific conditions such as instance reallocation or application restart, the Microsoft Dataverse trigger starts a duplicate run. This duplicate run creates a duplicate `callbackregistrations` entity in your Dataverse database. If you edit a Standard workflow that starts with a Dataverse trigger, check whether this `callbackregistrations` entity is duplicated. If the duplicate exists, manually delete the duplicate `callbackregistrations` entity.
288237

289238
## Related content
290239

0 commit comments

Comments
 (0)