---
title: "Generic HTTP Request Workflow Launcher"
canonical: "https://help.cartinuum.com/space/GC1/4172612189/Generic%20HTTP%20Request%20Workflow%20Launcher"
format: markdown
---
App launchers in Connect for ArcGIS enable you to pass information about selected map features to a third-party application for further processing. Optionally, they can open the third-party application within the user's current context.

#### Generic HTTP Request Workflow Launcher

The Generic HTTP Request Workflow Launcher sends information about selected map features to a web service for processing. If the web service returns a redirect URL, Connect for ArcGIS opens it in the user's browser. If the web service returns a message, Connect for ArcGIS displays it to the user.

**Example use case:** You can send selected features to a [Microsoft Power Automate](https://www.microsoft.com/en-au/power-platform/products/power-automate) flow, where custom processing tasks such as sending emails, updating a database, calling a REST API, or modifying GIS feature data can be executed.

---

### Configuring the Launcher

#### Launcher Type: **HTTP Request Launcher**

#### Request URL

Provide the fully qualified URI of the web service. Query parameters can be included in the URI.

#### HTTP Method

Select the HTTP method from the dropdown. **POST** is most commonly used, as it passes feature data in the request body.

#### Request Headers (Optional)

You may include optional request headers to support security or authorization requirements, such as firewall rules. Specify headers one per line using the format `NAME=VALUE` (e.g., `Authorization=Bearer abcd12345edfg`).

#### Widget Input Fields (Optional)

List any input fields to be displayed in the Connect for ArcGIS widget. Enter one field name per line. These fields will accept user text input.

#### Redirect URL

Complete this section if the web service will return a URL that should be opened by the Connect for ArcGIS widget.

#### Response Type

Specify whether the redirect URL is returned as an HTTP response **Header** or in the **JSON** response body.

#### Location

- **Header**: Enter the name of the HTTP response header containing the URL.
- **JSON**: Specify the path to the URL using dot notation (e.g., `response.url` for `{ "response": { "url": "https://acme.com/abc" } }`). Only simple JSON paths are supported (no arrays).

#### Response Message

Complete this section if the web service returns a message to be displayed in the Connect for ArcGIS widget.

#### Response Type

Specify whether the message is returned as an HTTP response **Header** or in the **JSON** response body.

#### Location

- **Header**: Enter the name of the HTTP response header containing the message.
- **JSON**: Specify the path to the message using dot notation (e.g., `response.message` for `{ "response": { "message": "Successfully added 17 work orders" } }`). Only simple JSON paths are supported (no arrays).

---

- 

### Web Service Request Body

Selected map features and any widget attribute values are sent as a JSON object in the body of the web service request. The structure is as follows:

```
{
  "features": [
    { "attributes": { "OBJECTID": 1, ... }, "geometry": { ... } }
  ],
  "widgetProperties": { "first-name": "Sam" }
}
```

- **Features**: An array of GIS features using the [ArcGIS Feature Object](https://developers.arcgis.com/rest/services-reference/enterprise/feature-object/) JSON format.
- **Widget Properties**: An object containing attributes from the widget input form. Attribute names are generated from the field labels in the Widget Input Fields section of the launcher configuration. For example, a "First Name" input will use the slug `first-name`.

---

### Web Service Response

To be considered successful, the web service must return a 2XX status code. Responses outside this range will trigger an error message for the user.

The web service can return either a URL or a message:

- If a URL is returned, Connect for ArcGIS will open it in a new browser tab.
- If a message is returned, Connect for ArcGIS will display it to the user.
- If both a URL and a message are returned, only the URL will be used.
- If neither is returned, Connect for ArcGIS will display a generic success message.

The location of the URL or message in the response is defined in the Launcher Configuration.

**Example 1:** If the URL is returned in an HTTP header called `X-Launch-URL`, set the **Response Type** to **Header** and specify `X-Launch-URL` in the **Location** field.

**Example 2: **If the message is returned in the JSON body like this:

```
{
  "response": {
    "message": "Data has been updated"
  }
}
```

Set the **Response Type** to **JSON** and use the location `response.message`. Only simple dot notation is supported (no arrays).