|
1 | 1 | ---
|
2 |
| -title: Communicate with any endpoint over HTTP - Azure Logic Apps | Microsoft Docs |
3 |
| -description: Create logic apps that can communicate with any endpoint over HTTP |
| 2 | +title: Connect to any HTTP endpoint with Azure Logic Apps | Microsoft Docs |
| 3 | +description: Automate tasks and workflows that communicate with any HTTP endpoint by using Azure Logic Apps |
4 | 4 | services: logic-apps
|
5 |
| -author: jeffhollan |
6 |
| -manager: jeconnoc |
7 |
| -editor: '' |
8 |
| -documentationcenter: '' |
9 |
| -tags: connectors |
10 |
| - |
11 |
| -ms.assetid: e11c6b4d-65a5-4d2d-8e13-38150db09c0b |
12 | 5 | ms.service: logic-apps
|
13 |
| -ms.devlang: na |
| 6 | +ms.suite: integration |
| 7 | +author: ecfan |
| 8 | +ms.author: estfan |
| 9 | +ms.reviewer: klam, LADocs |
| 10 | +ms.assetid: e11c6b4d-65a5-4d2d-8e13-38150db09c0b |
14 | 11 | ms.topic: article
|
15 |
| -ms.tgt_pltfrm: na |
16 |
| -ms.workload: na |
17 |
| -ms.date: 07/15/2016 |
18 |
| -ms.author: jehollan; LADocs |
19 |
| - |
| 12 | +tags: connectors |
| 13 | +ms.date: 08/25/2018 |
20 | 14 | ---
|
21 |
| -# Get started with the HTTP action |
22 | 15 |
|
23 |
| -With the HTTP action, you can extend workflows for your organization and communicate to any endpoint over HTTP. |
| 16 | +# Call HTTP or HTTPS endpoints with Azure Logic Apps |
| 17 | + |
| 18 | +With Azure Logic Apps and the Hypertext Transfer Protocol (HTTP) connector, |
| 19 | +you can automate workflows that communicate with any HTTP or HTTPS endpoint |
| 20 | +by building logic apps. For example, you can monitor the service endpoint |
| 21 | +for your website. When an event happens at that endpoint, such as your |
| 22 | +website going down, the event triggers your logic app's workflow and runs |
| 23 | +the specified actions. |
24 | 24 |
|
25 |
| -You can: |
| 25 | +You can use the HTTP trigger as the first step in your worklfow |
| 26 | +for checking or *polling* an endpoint on a regular schedule. |
| 27 | +On each check, the trigger sends a call or *request* to the endpoint. |
| 28 | +The endpoint's response determines whether your logic app's workflow runs. |
| 29 | +The trigger passes along any content from the response to the actions |
| 30 | +in your logic app. |
26 | 31 |
|
27 |
| -* Create logic app workflows that activate (trigger) when a website that you manage goes down. |
28 |
| -* Communicate to any endpoint over HTTP to extend your workflows into other services. |
| 32 | +You can use the HTTP action as any other step in your workflow |
| 33 | +for calling the endpoint when you want. The endpoint's response |
| 34 | +determines how your workflow's remaining actions run. |
29 | 35 |
|
30 |
| -To get started using the HTTP action in a logic app, see [Create a logic app](../logic-apps/quickstart-create-first-logic-app-workflow.md). |
| 36 | +If you're new to logic apps, review |
| 37 | +[What is Azure Logic Apps?](../logic-apps/logic-apps-overview.md) |
31 | 38 |
|
32 |
| -## Use the HTTP trigger |
33 |
| -A trigger is an event that can be used to start the workflow that is defined in a logic app. [Learn more about triggers](connectors-overview.md). |
| 39 | +## Prerequisites |
34 | 40 |
|
35 |
| -Here’s an example sequence of how to set up the HTTP trigger in the Logic App Designer. |
| 41 | +* An Azure subscription. If you don't have an Azure subscription, |
| 42 | +<a href="https://azure.microsoft.com/free/" target="_blank">sign up for a free Azure account</a>. |
36 | 43 |
|
37 |
| -1. Add the HTTP trigger in your logic app. |
38 |
| -2. Fill in the parameters for the HTTP endpoint that you want to poll. |
39 |
| -3. Modify the recurrence interval on how frequently it should poll. |
| 44 | +* The URL for the target endpoint you want to call |
40 | 45 |
|
41 |
| - The logic app now fires with any content that is returned during each check. |
| 46 | +* Basic knowledge about |
| 47 | +[how to create logic apps](../logic-apps/quickstart-create-first-logic-app-workflow.md) |
42 | 48 |
|
43 |
| -  |
| 49 | +* The logic app from where you want to call the target endpoint |
| 50 | +To start with the HTTP trigger, [create a blank logic app](../logic-apps/quickstart-create-first-logic-app-workflow.md). |
| 51 | +To use the HTTP action, start your logic app with a trigger. |
44 | 52 |
|
45 |
| -### How the HTTP trigger works |
| 53 | +## Add HTTP trigger |
46 | 54 |
|
47 |
| -The HTTP trigger sends a call to HTTP endpoint on a recurring interval. |
48 |
| -By default, any HTTP response code that is lower than 300 causes a logic app to run. |
49 |
| -To specify whether the logic app should fire, you can edit the logic app in code view, |
50 |
| -and add a condition that evaluates after the HTTP call. Here's an example of an HTTP trigger |
51 |
| -that fires when the returned status code is greater than or equal to `400`. |
| 55 | +1. Sign in to the [Azure portal](https://portal.azure.com), |
| 56 | +and open your blank logic app in Logic App Designer, |
| 57 | +if not open already. |
52 | 58 |
|
53 |
| -```javascript |
54 |
| -"Http": |
55 |
| -{ |
56 |
| - "conditions": [ |
57 |
| - { |
58 |
| - "expression": "@greaterOrEquals(triggerOutputs()['statusCode'], 400)" |
59 |
| - } |
60 |
| - ], |
61 |
| - "inputs": { |
62 |
| - "method": "GET", |
63 |
| - "uri": "https://blogs.msdn.microsoft.com/logicapps/", |
64 |
| - "headers": { |
65 |
| - "accept-language": "en" |
66 |
| - } |
67 |
| - }, |
68 |
| - "recurrence": { |
69 |
| - "frequency": "Second", |
70 |
| - "interval": 15 |
71 |
| - }, |
72 |
| - "type": "Http" |
73 |
| -} |
74 |
| -``` |
| 59 | +1. In the search box, enter "http" as your filter. |
| 60 | +Under the triggers list, select the **HTTP** trigger. |
75 | 61 |
|
76 |
| -Full details about the HTTP trigger parameters are available on [MSDN](https://msdn.microsoft.com/library/azure/mt643939.aspx#HTTP-trigger). |
| 62 | +  |
77 | 63 |
|
78 |
| -## Use the HTTP action |
| 64 | +1. Provide the [HTTP trigger's parameters and values](../logic-apps/logic-apps-workflow-actions-triggers.md##http-trigger) |
| 65 | +you want to include in the call to the target endpoint. |
| 66 | +Set up recurrence for how often you want the trigger to check the target endpont. |
79 | 67 |
|
80 |
| -An action is an operation that is carried out by the workflow that is defined in a logic app. |
81 |
| -[Learn more about actions](connectors-overview.md). |
| 68 | +  |
82 | 69 |
|
83 |
| -1. Choose **New Step** > **Add an action**. |
84 |
| -3. In the action search box, type **http** to list the HTTP actions. |
85 |
| - |
86 |
| -  |
| 70 | + For more information about the HTTP trigger, parameters, and values, |
| 71 | + see [Trigger and action types reference](../logic-apps/logic-apps-workflow-actions-triggers.md##http-trigger). |
87 | 72 |
|
88 |
| -4. Add any required parameters for the HTTP call. |
89 |
| - |
90 |
| -  |
| 73 | +1. Continue building your logic app's workflow with actions that run |
| 74 | +when the trigger fires. |
91 | 75 |
|
92 |
| -5. On the designer toolbar, click **Save**. |
93 |
| -Your logic app is saved and published (activated) at the same time. |
| 76 | +## Add HTTP action |
94 | 77 |
|
95 |
| -## HTTP trigger |
96 |
| -Here are the details for the trigger that this connector supports. The HTTP connector has one trigger. |
| 78 | +[!INCLUDE [Create connection general intro](../../includes/connectors-create-connection-general-intro.md)] |
97 | 79 |
|
98 |
| -| Trigger | Description | |
99 |
| -| --- | --- | |
100 |
| -| HTTP |Makes an HTTP call and returns the response content. | |
| 80 | +1. Sign in to the [Azure portal](https://portal.azure.com), |
| 81 | +and open your logic app in Logic App Designer, if not open already. |
101 | 82 |
|
102 |
| -## HTTP action |
103 |
| -Here are the details for the action that this connector supports. The HTTP connector has one possible action. |
| 83 | +1. Under the last step where you want to add the HTTP action, |
| 84 | +choose **New step**. |
104 | 85 |
|
105 |
| -| Action | Description | |
106 |
| -| --- | --- | |
107 |
| -| HTTP |Makes an HTTP call and returns the response content. | |
| 86 | + In this example, the logic app starts with the HTTP trigger as the first step. |
108 | 87 |
|
109 |
| -## HTTP details |
110 |
| -The following tables describe the required and optional input fields for the action and the corresponding output details that are associated with using the action. |
| 88 | +1. In the search box, enter "http" as your filter. |
| 89 | +Under the actions list, select the **HTTP** action. |
111 | 90 |
|
112 |
| -#### HTTP request |
113 |
| -The following are input fields for the action, which makes an HTTP outbound request. |
114 |
| -A * means that it is a required field. |
| 91 | +  |
115 | 92 |
|
116 |
| -| Display name | Property name | Description | |
117 |
| -| --- | --- | --- | |
118 |
| -| Method* |method |The HTTP verb to use | |
119 |
| -| URI* |uri |The URI for the HTTP request | |
120 |
| -| Headers |headers |A JSON object of HTTP headers to include | |
121 |
| -| Body |body |The HTTP request body | |
122 |
| -| Authentication |authentication |Details in the [Authentication](#authentication) section | |
| 93 | + To add an action between steps, |
| 94 | + move your pointer over the arrow between steps. |
| 95 | + Choose the plus sign (**+**) that appears, |
| 96 | + and then select **Add an action**. |
123 | 97 |
|
124 |
| -<br> |
| 98 | +1. Provide the [HTTP action's parameters and values](../logic-apps/logic-apps-workflow-actions-triggers.md##http-action) |
| 99 | +you want to include in the call to the target endpoint. |
125 | 100 |
|
126 |
| -#### Output details |
127 |
| -The following are output details for the HTTP response. |
| 101 | +  |
128 | 102 |
|
129 |
| -| Property name | Data type | Description | |
130 |
| -| --- | --- | --- | |
131 |
| -| Headers |object |Response headers | |
132 |
| -| Body |object |Response object | |
133 |
| -| Status Code |int |HTTP status code | |
| 103 | +1. When you're done, make sure you save your logic app. |
| 104 | +On the designer toolbar, choose **Save**. |
134 | 105 |
|
135 | 106 | ## Authentication
|
136 |
| -The Logic Apps feature allows you to use different types of authentication against HTTP endpoints. You can use this authentication with the **HTTP**, **[HTTP + Swagger](connectors-native-http-swagger.md)**, and **[HTTP Webhook](connectors-native-webhook.md)** connectors. The following types of authentication are configurable: |
137 |
| - |
138 |
| -* [Basic authentication](#basic-authentication) |
139 |
| -* [Client certificate authentication](#client-certificate-authentication) |
140 |
| -* [Azure Active Directory (Azure AD) OAuth authentication](#azure-active-directory-oauth-authentication) |
141 |
| - |
142 |
| -#### Basic authentication |
143 |
| - |
144 |
| -The following authentication object is needed for basic authentication. |
145 |
| -A * means that it is a required field. |
146 |
| - |
147 |
| -| Property name | Data type | Description | |
148 |
| -| --- | --- | --- | |
149 |
| -| Type* |type |Type of authentication (must be `Basic` for basic authentication) | |
150 |
| -| Username* |username |User name to authenticate | |
151 |
| -| Password* |password |Password to authenticate | |
152 |
| - |
153 |
| -> [!TIP] |
154 |
| -> If you want to use a password that cannot be retrieved from the definition, |
155 |
| -> use a `securestring` parameter and the `@parameters()` |
156 |
| -> [workflow definition function](https://docs.microsoft.com/azure/logic-apps/logic-apps-securing-a-logic-app#secure-parameters-and-inputs-within-a-workflow). |
157 |
| -
|
158 |
| -For example: |
159 |
| - |
160 |
| -```javascript |
161 |
| -{ |
162 |
| - "type": "Basic", |
163 |
| - "username": "user", |
164 |
| - "password": "test" |
165 |
| -} |
166 |
| -``` |
167 |
| - |
168 |
| -#### Client certificate authentication |
169 |
| - |
170 |
| -The following authentication object is needed for client certificate authentication. |
171 |
| -A * means that it is a required field. |
172 |
| - |
173 |
| -| Property name | Data type | Description | |
174 |
| -| --- | --- | --- | |
175 |
| -| Type* |type |The type of authentication (must be `ClientCertificate` for SSL client certificates) | |
176 |
| -| PFX* |pfx |The Base64-encoded contents of the Personal Information Exchange (PFX) file | |
177 |
| -| Password* |password |The password to access the PFX file | |
178 |
| - |
179 |
| -> [!TIP] |
180 |
| -> To use a parameter that won't be readable in the definition after saving the logic app, |
181 |
| -> you can use a `securestring` parameter and the `@parameters()` |
182 |
| -> [workflow definition function](https://docs.microsoft.com/azure/logic-apps/logic-apps-securing-a-logic-app#secure-parameters-and-inputs-within-a-workflow). |
183 |
| -
|
184 |
| -For example: |
185 |
| - |
186 |
| -```javascript |
187 |
| -{ |
188 |
| - "type": "ClientCertificate", |
189 |
| - "pfx": "aGVsbG8g...d29ybGQ=", |
190 |
| - "password": "@parameters('myPassword')" |
191 |
| -} |
192 |
| -``` |
193 |
| - |
194 |
| -#### Azure AD OAuth authentication |
195 |
| -The following authentication object is needed for Azure AD OAuth authentication. A * means that it is a required field. |
196 |
| - |
197 |
| -| Property name | Data type | Description | |
198 |
| -| --- | --- | --- | |
199 |
| -| Type* |type |The type of authentication (must be `ActiveDirectoryOAuth` for Azure AD OAuth) | |
200 |
| -| Tenant* |tenant |The tenant identifier for the Azure AD tenant | |
201 |
| -| Audience* |audience |The resource you are requesting authorization to use. For example: `https://management.core.windows.net/` | |
202 |
| -| Client ID* |clientId |The client identifier for the Azure AD application | |
203 |
| -| Secret* |secret |The secret of the client that is requesting the token | |
204 |
| - |
205 |
| -> [!TIP] |
206 |
| -> You can use a `securestring` parameter and the `@parameters()` [workflow definition function](https://docs.microsoft.com/azure/logic-apps/logic-apps-securing-a-logic-app#secure-parameters-and-inputs-within-a-workflow) to use a parameter that won't be readable in the definition after saving. |
207 |
| -> |
208 |
| -> |
209 |
| -
|
210 |
| -For example: |
211 |
| - |
212 |
| -```javascript |
213 |
| -{ |
214 |
| - "type": "ActiveDirectoryOAuth", |
215 |
| - "tenant": "72f988bf-86f1-41af-91ab-2d7cd011db47", |
216 |
| - "audience": "https://management.core.windows.net/", |
217 |
| - "clientId": "34750e0b-72d1-4e4f-bbbe-664f6d04d411", |
218 |
| - "secret": "hcqgkYc9ebgNLA5c+GDg7xl9ZJMD88TmTJiJBgZ8dFo=" |
219 |
| -} |
220 |
| -``` |
| 107 | + |
| 108 | +To set authentication, choose **Show advanced options** inside the action or trigger. |
| 109 | +For more information about available authentication types for HTTP triggers and actions, |
| 110 | +see [Trigger and action types reference](../logic-apps/logic-apps-workflow-actions-triggers.md#connector-authentication). |
| 111 | + |
| 112 | +## Get support |
| 113 | + |
| 114 | +* For questions, visit the [Azure Logic Apps forum](https://social.msdn.microsoft.com/Forums/en-US/home?forum=azurelogicapps). |
| 115 | +* To submit or vote on feature ideas, visit the [Logic Apps user feedback site](http://aka.ms/logicapps-wish). |
221 | 116 |
|
222 | 117 | ## Next steps
|
223 |
| -Now, try out the platform and [create a logic app](../logic-apps/quickstart-create-first-logic-app-workflow.md). You can explore the other available connectors in Logic Apps by looking at our [APIs list](apis-list.md). |
224 | 118 |
|
| 119 | +* Learn about other [Logic Apps connectors](../connectors/apis-list.md) |
0 commit comments