Skip to content

Commit 9378379

Browse files
author
ecfan
committed
Updated HTTP request tool guidance
1 parent 991ce52 commit 9378379

10 files changed

+326
-118
lines changed

articles/connectors/connectors-native-reqres.md

Lines changed: 41 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ This how-to guide shows create a logic app workflow that can receive and handle
1616

1717
> [!NOTE]
1818
>
19-
> The Response action works only when you use the Request trigger.
19+
> The Response action works only when you use the **Request** trigger.
2020
21-
For example, this list describes some tasks that your workflow can perform when you use the Request trigger and Response action:
21+
For example, this list describes some tasks that your workflow can perform when you use the **Request** trigger and Response action:
2222

2323
* Receive and respond to an HTTPS request for data in an on-premises database.
2424

@@ -32,13 +32,34 @@ To run your workflow by sending an outgoing or outbound request instead, use the
3232

3333
* An Azure account and subscription. If you don't have a subscription, you can [sign up for a free Azure account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
3434

35-
* The logic app workflow where you want to receive the inbound HTTPS request. To start your workflow with a Request trigger, you have to start with a blank workflow. To use the Response action, your workflow must start with the Request trigger.
35+
* The logic app workflow where you want to receive the inbound HTTPS request. To start your workflow with a **Request** trigger, you have to start with a blank workflow. To use the Response action, your workflow must start with the **Request** trigger.
36+
37+
* To test the example workflow in this guide, you need a tool that can send HTTP requests to the endpoint created by the **Request** trigger, for example:
38+
39+
- [Visual Studio Code](https://code.visualstudio.com/download) with an [extension from Visual Studio Marketplace](https://marketplace.visualstudio.com/vscode)
40+
41+
- [PowerShell Invoke-RestMethod](/powershell/module/microsoft.powershell.utility/invoke-restmethod)
42+
43+
- [Microsoft Edge - Network Console tool](/microsoft-edge/devtools-guide-chromium/network-console/network-console-tool)
44+
45+
- [Bruno](https://www.usebruno.com/)
46+
47+
- [Curl](https://curl.se/)
48+
49+
- [Insomnia](https://insomnia.rest/)
50+
51+
> [!CAUTION]
52+
>
53+
> For scenarios where you have sensitive data, such as credentials, secrets, access tokens, API keys,
54+
> and other such information, make sure to use a tool that works only locally or offline and has
55+
> the necessary security features to protect your data. To avoid public exposure, use a tool that
56+
> doesn't sync your data to the cloud and doesn't require you to create an online account.
3657
3758
<a name="add-request-trigger"></a>
3859

3960
## Add a Request trigger
4061

41-
The Request trigger creates a manually callable endpoint that handles *only* inbound requests over HTTPS. When the caller sends a request to this endpoint, the Request trigger fires and runs the workflow. For information about how to call this trigger, review [Call, trigger, or nest workflows with HTTPS endpoints in Azure Logic Apps](../logic-apps/logic-apps-http-endpoint.md).
62+
The **Request** trigger creates a manually callable endpoint that handles *only* inbound requests over HTTPS. When the caller sends a request to this endpoint, the **Request** trigger fires and runs the workflow. For information about how to call this trigger, review [Call, trigger, or nest workflows with HTTPS endpoints in Azure Logic Apps](../logic-apps/logic-apps-http-endpoint.md).
4263

4364
## [Consumption](#tab/consumption)
4465

@@ -51,7 +72,7 @@ The Request trigger creates a manually callable endpoint that handles *only* inb
5172
| Property name | JSON property name | Required | Description |
5273
|---------------|--------------------|----------|-------------|
5374
| **HTTP POST URL** | {none} | Yes | The endpoint URL that's generated after you save your workflow and is used for sending a request that triggers your workflow. |
54-
| **Request Body JSON Schema** | `schema` | No | The JSON schema that describes the properties and values in the incoming request body. The designer uses this schema to generate tokens for the properties in the request. That way, your workflow can parse, consume, and pass along outputs from the Request trigger into your workflow. <br><br>If you don't have a JSON schema, you can generate the schema from a sample payload by using the **Use sample payload to generate schema** capability. |
75+
| **Request Body JSON Schema** | `schema` | No | The JSON schema that describes the properties and values in the incoming request body. The designer uses this schema to generate tokens for the properties in the request. That way, your workflow can parse, consume, and pass along outputs from the **Request** trigger into your workflow. <br><br>If you don't have a JSON schema, you can generate the schema from a sample payload by using the **Use sample payload to generate schema** capability. |
5576

5677
The following example shows a sample JSON schema:
5778

@@ -115,7 +136,7 @@ The Request trigger creates a manually callable endpoint that handles *only* inb
115136

116137
To generate a JSON schema that's based on the expected payload (data), you can use a tool such as [JSONSchema.net](https://jsonschema.net), or you can follow these steps:
117138

118-
1. In the Request trigger, select **Use sample payload to generate schema**.
139+
1. In the **Request** trigger, select **Use sample payload to generate schema**.
119140

120141
![Screenshot showing Consumption workflow, Request trigger, and "Use sample payload to generate schema" selected.](./media/connectors-native-reqres/generate-from-sample-payload-consumption.png)
121142

@@ -161,7 +182,7 @@ The Request trigger creates a manually callable endpoint that handles *only* inb
161182
}
162183
```
163184

164-
1. In the Request trigger's title bar, select the ellipses button (**...**).
185+
1. In the **Request** trigger's title bar, select the ellipses button (**...**).
165186

166187
1. In the trigger's settings, turn on **Schema Validation**, and select **Done**.
167188

@@ -193,7 +214,7 @@ The Request trigger creates a manually callable endpoint that handles *only* inb
193214
> [!NOTE]
194215
>
195216
> If you want to include the hash or pound symbol (**#**) in the URI
196-
> when making a call to the Request trigger, use this encoded version instead: `%25%23`
217+
> when making a call to the **Request** trigger, use this encoded version instead: `%25%23`
197218

198219
## [Standard](#tab/standard)
199220

@@ -206,7 +227,7 @@ The Request trigger creates a manually callable endpoint that handles *only* inb
206227
| Property name | JSON property name | Required | Description |
207228
|---------------|--------------------|----------|-------------|
208229
| **HTTP POST URL** | {none} | Yes | The endpoint URL that's generated after you save your workflow and is used for sending a request that triggers your workflow. |
209-
| **Request Body JSON Schema** | `schema` | No | The JSON schema that describes the properties and values in the incoming request body. The designer uses this schema to generate tokens for the properties in the request. That way, your workflow can parse, consume, and pass along outputs from the Request trigger into your workflow. <br><br>If you don't have a JSON schema, you can generate the schema from a sample payload by using the **Use sample payload to generate schema** capability. |
230+
| **Request Body JSON Schema** | `schema` | No | The JSON schema that describes the properties and values in the incoming request body. The designer uses this schema to generate tokens for the properties in the request. That way, your workflow can parse, consume, and pass along outputs from the **Request** trigger into your workflow. <br><br>If you don't have a JSON schema, you can generate the schema from a sample payload by using the **Use sample payload to generate schema** capability. |
210231

211232
The following example shows a sample JSON schema:
212233

@@ -270,7 +291,7 @@ The Request trigger creates a manually callable endpoint that handles *only* inb
270291

271292
To generate a JSON schema that's based on the expected payload (data), you can use a tool such as [JSONSchema.net](https://jsonschema.net), or you can follow these steps:
272293

273-
1. In the Request trigger, select **Use sample payload to generate schema**.
294+
1. In the **Request** trigger, select **Use sample payload to generate schema**.
274295

275296
![Screenshot showing Standard workflow, Request trigger, and "Use sample payload to generate schema" selected.](./media/connectors-native-reqres/generate-from-sample-payload-standard.png)
276297

@@ -316,7 +337,7 @@ The Request trigger creates a manually callable endpoint that handles *only* inb
316337
}
317338
```
318339

319-
1. On the designer, select the Request trigger. On the information pane that opens, select the **Settings** tab.
340+
1. On the designer, select the **Request** trigger. On the information pane that opens, select the **Settings** tab.
320341

321342
1. Expand **Data Handling**, and set **Schema Validation** to **On**.
322343

@@ -348,12 +369,12 @@ The Request trigger creates a manually callable endpoint that handles *only* inb
348369
> [!NOTE]
349370
>
350371
> If you want to include the hash or pound symbol (**#**) in the URI
351-
> when making a call to the Request trigger, use this encoded version instead: `%25%23`
372+
> when making a call to the **Request** trigger, use this encoded version instead: `%25%23`
352373
>
353-
> The URL for the Request trigger is associated with your workflow's storage account. This URL
374+
> The URL for the **Request** trigger is associated with your workflow's storage account. This URL
354375
> changes if the storage account changes. For example, with Standard logic apps, if you manually
355376
> change your storage account and copy your workflow to the new storage account, the URL for
356-
> the Request trigger also changes to reflect the new storage account. The same workflow has a different URL.
377+
> the **Request** trigger also changes to reflect the new storage account. The same workflow has a different URL.
357378

358379
---
359380

@@ -370,7 +391,7 @@ For information about security, authorization, and encryption for inbound calls
370391

371392
## Trigger outputs
372393

373-
The following table lists the outputs from the Request trigger:
394+
The following table lists the outputs from the **Request** trigger:
374395

375396
| JSON property name | Data type | Description |
376397
|--------------------|-----------|-------------|
@@ -381,7 +402,7 @@ The following table lists the outputs from the Request trigger:
381402

382403
## Add a Response action
383404

384-
When you use the Request trigger to receive inbound requests, you can model the response and send the payload results back to the caller by using the Response built-in action, which works *only* with the Request trigger. This combination with the Request trigger and Response action creates the [request-response pattern](https://en.wikipedia.org/wiki/Request%E2%80%93response). Except for inside Foreach loops and Until loops, and parallel branches, you can add the Response action anywhere in your workflow.
405+
When you use the **Request** trigger to receive inbound requests, you can model the response and send the payload results back to the caller by using the Response built-in action, which works *only* with the **Request** trigger. This combination with the **Request** trigger and Response action creates the [request-response pattern](https://en.wikipedia.org/wiki/Request%E2%80%93response). Except for inside Foreach loops and Until loops, and parallel branches, you can add the Response action anywhere in your workflow.
385406

386407
> [!IMPORTANT]
387408
>
@@ -409,7 +430,7 @@ When you use the Request trigger to receive inbound requests, you can model the
409430

410431
1. On the workflow designer, [follow these general steps to find and add the Response built-in action named **Response**](../logic-apps/create-workflow-with-trigger-or-action.md?tabs=consumption#add-action).
411432

412-
For simplicity, the following examples show a collapsed Request trigger.
433+
For simplicity, the following examples show a collapsed **Request** trigger.
413434

414435
1. In the action information box, add the required values for the response message.
415436

@@ -463,13 +484,13 @@ When you use the Request trigger to receive inbound requests, you can model the
463484

464485
## Test your workflow
465486

466-
To test your workflow, send an HTTP request to the generated URL. For example, you can use local tools or apps such as [Insomnia](https://insomnia.rest/) or [Bruno](https://www.usebruno.com/) to send the HTTP request.
487+
To trigger your workflow, send an HTTP request to the URL generated for the **Request** trigger, including the method that the **Request** trigger expects, by using your HTTP request tool and its instructions.
467488

468-
For more information about the trigger's underlying JSON definition and how to call this trigger, see these topics, [Request trigger type](../logic-apps/logic-apps-workflow-actions-triggers.md#request-trigger) and [Call, trigger, or nest workflows with HTTP endpoints in Azure Logic Apps](../logic-apps/logic-apps-http-endpoint.md).
489+
For more information about the trigger's underlying JSON definition and how to call this trigger, see these topics, [**Request** trigger type](../logic-apps/logic-apps-workflow-actions-triggers.md#request-trigger) and [Call, trigger, or nest workflows with HTTP endpoints in Azure Logic Apps](../logic-apps/logic-apps-http-endpoint.md).
469490

470491
## Security and authentication
471492

472-
In a Standard logic app workflow that starts with the Request trigger (but not a webhook trigger), you can use the Azure Functions provision for authenticating inbound calls sent to the endpoint created by that trigger by using a managed identity. This provision is also known as "**Easy Auth**". For more information, review [Trigger workflows in Standard logic apps with Easy Auth](https://techcommunity.microsoft.com/t5/integrations-on-azure-blog/trigger-workflows-in-standard-logic-apps-with-easy-auth/ba-p/3207378).
493+
In a Standard logic app workflow that starts with the **Request** trigger (but not a webhook trigger), you can use the Azure Functions provision for authenticating inbound calls sent to the endpoint created by that trigger by using a managed identity. This provision is also known as "**Easy Auth**". For more information, review [Trigger workflows in Standard logic apps with Easy Auth](https://techcommunity.microsoft.com/t5/integrations-on-azure-blog/trigger-workflows-in-standard-logic-apps-with-easy-auth/ba-p/3207378).
473494

474495
For more information about security, authorization, and encryption for inbound calls to your logic app workflow, such as [Transport Layer Security (TLS)](https://en.wikipedia.org/wiki/Transport_Layer_Security), previously known as Secure Sockets Layer (SSL), [Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth)](../active-directory/develop/index.yml), exposing your logic app with Azure API Management, or restricting the IP addresses that originate inbound calls, see [Secure access and data - Access for inbound calls to request-based triggers](../logic-apps/logic-apps-securing-a-logic-app.md#secure-inbound-requests).
475496

0 commit comments

Comments
 (0)