You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
- Updates the Workflows HTTP actions docs to explain connector-backed
HTTP steps.
- Replaces the outdated secret-store limitation with guidance to use
`connector-id` for authenticated requests.
- Adds dropdown syntax examples for configured HTTP connector and direct
URL usage.
## Testing
- Not run; docs-only change.
Copy file name to clipboardExpand all lines: explore-analyze/workflows/steps/external-systems-apps.md
+23-19Lines changed: 23 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ products:
18
18
External systems actions allow your workflows to communicate with third-party services and custom endpoints. You can interact with external systems in the following ways:
19
19
20
20
*[Connector-based actions](#connector-based-actions): Use pre-configured connectors to integrate with services such as Slack and {{jira}}
21
-
*[HTTP actions](#http-actions): Make direct HTTP requests to any API endpoint
21
+
*[HTTP actions](#http-actions): Make HTTP requests to APIs directly or through a configured HTTP connector
22
22
23
23
## Connector-based actions
24
24
@@ -66,37 +66,41 @@ steps:
66
66
67
67
## HTTP actions
68
68
69
-
The native `http` action is a built-in HTTP client that does not require a pre-configured connector. Use it for one-off requests to public or internal APIs.
69
+
The native `http` action is a built-in HTTP client for calling external APIs. It supports two modes:
70
+
71
+
* **Configured HTTP connector**: For authenticated requests, first [configure an HTTP connector](/deploy-manage/manage-connectors.md). Then reference it from the workflow step with `connector-id`. The connector stores the base URL, authentication settings, and secrets using {{kib}}'s centralized {{connectors-ui}} framework.
72
+
* **Direct URL**: For simple requests that don't require connector-managed secrets, omit `connector-id` and provide the full `url` directly in the step. Avoid placing secrets directly in workflow YAML.
70
73
71
74
Use the following parameters in the `with` block to configure the request:
72
75
73
76
| Parameter | Required | Description |
74
77
|-----------|----------|-------------|
75
-
| `url` | Yes | The full URL of the endpoint to call |
76
-
| `method` | No (defaults to `GET`) | The HTTP method (`GET`, `POST`, `PUT`, or `DELETE`) |
77
-
| `headers` | No | An object with key-value pairs for HTTP headers |
78
-
| `body` | No | The request body (typically a JSON object) |
79
-
80
-
::::{admonition} Known limitation
81
-
The native `http` action does not have access to a centralized secret store for managing authentication credentials. If your endpoint requires authentication, you must include the credentials directly in the `headers` block.
78
+
| `url` | Yes, when `connector-id` is not provided | The full URL of the endpoint to call. |
79
+
| `path` | No | The path appended to the configured connector's base URL. Use this with `connector-id`. |
80
+
| `method` | No (defaults to `GET`) | The HTTP method (`GET`, `POST`, `PUT`, `PATCH`, or `DELETE`). |
81
+
| `headers` | No | An object with key-value pairs for additional HTTP headers. Request headers take precedence over connector headers. |
82
+
| `query` | No | An object with key-value pairs for query string parameters. |
83
+
| `body` | No | The request body (typically a JSON object). |
82
84
83
85
:::{dropdown} Click to show syntax example
86
+
Use a configured HTTP connector:
87
+
84
88
```yaml
85
89
steps:
86
-
- name: call_secure_api
90
+
- name: trigger_response_action
87
91
type: http
92
+
connector-id: "security-response-api"
88
93
with:
89
-
url: "https://api.thirdparty.com/v1/data"
90
-
method: "GET"
94
+
path: "/v1/response-actions/isolate"
95
+
method: "POST"
91
96
headers:
92
-
Authorization: "Bearer my-secret-api-token"
97
+
Content-Type: "application/json"
98
+
body:
99
+
endpoint_id: "{{ event.agent.id }}"
100
+
reason: "Triggered by workflow '{{ workflow.name }}'"
93
101
```
94
-
:::
95
-
::::
96
-
97
-
### Example: Call a custom webhook
98
102
99
-
This example makes a POST request to a custom automation endpoint, passing data from the workflow context.
103
+
Call a URL directly without a connector:
100
104
101
105
```yaml
102
106
steps:
@@ -111,4 +115,4 @@ steps:
111
115
event_id: "{{ event.id }}"
112
116
message: "Workflow action triggered by '{{ workflow.name }}'"
0 commit comments