Web Request

Provides a generic HTTP client for invoking web services that do not require OpenAPI or WSDL metadata. Supports simple REST-style requests for lightweight integrations and utility calls, with support for streaming bodies and optional authentication headers.

Revision History

1.0.0.3 - Initial release.
0.0.1.0 - Major version reset.
0.0.1.16 - Added OAuth authorization-code authentication, connection testing, automatic token refresh retry handling, and explicit response template fixes.
0.0.1.17 - Moved the Connection onto the shared HTTP authorization base and refreshed the published Connection guidance.

Connection

The Connection stores the shared HTTP endpoint, authentication settings, optional OAuth details, and how HTTP failure responses are surfaced.

Property Type Description
URL String Base URL used as a prefix for relative request URLs.
Authorization Enum Authentication mode for the request: None, Basic, Bearer, or OAuth.
Username String Username used when Authorization is Basic.
Password Masked Password used when Authorization is Basic.
Bearer Token Masked Token used when Authorization is Bearer.
Auth URL String OAuth authorization endpoint used when Authorization is OAuth.
Token URL String OAuth token endpoint used when Authorization is OAuth.
Client ID Masked OAuth client identifier used when Authorization is OAuth.
Secret Key Masked OAuth client secret used when Authorization is OAuth.
Scope String OAuth scopes requested during authentication.
Access Token Masked OAuth access token populated after you connect the account.
Refresh Token Masked OAuth refresh token populated when the provider returns one.
Custom Headers String Additional headers in Key: Value format, one per line.
Authentication Test Path String Relative or absolute path used by the Connection test action.
Authentication Test HTTP Method Enum HTTP method used by the Connection test action: GET or OPTIONS.
Return Http Failure Responses Boolean When true, HTTP responses with status 400 or higher are returned in the response object. When false, those responses throw an error that you can handle with a Try-Catch Node.

Setup Notes

  • Supply either a Connection with URL, a per-call URL, or both. If both are missing, the request fails.
  • Use a relative per-call URL when the Connection URL is set.
  • Use an absolute per-call URL when you want to override the Connection URL for one request.
  • Configure Basic, Bearer, or OAuth authentication on the Connection instead of sending an Authorization header in request headers.
  • When you use OAuth, provide Auth URL, Token URL, Client ID, Secret Key, and any required Scope, then complete the account authorization step so the Connection can store Access Token and Refresh Token.
  • If you populate Custom Headers, keep them in Key: Value format, one header per line.
  • Provide an Authentication Test Path before running the Connection test action. Use a lightweight endpoint that can be called safely.

Methods

The Node exposes one method per supported HTTP verb. Methods that can carry a payload (Post, Put, Patch) accept a streamed RequestBody. Get and Delete do not send a body.

Get

Executes an HTTP GET request and returns the response.

Parameter Type Description
Connection Connection Optional Connection settings, including authentication and base URL.
URL String Relative or absolute request URL.
Headers Object Optional request headers as key-value pairs, merged with any headers applied by the Connection.
Return Type Description
StatusCode Integer HTTP status code returned by the server.
ResponseHeaders Object Response headers returned by the server.
ResponseStream Stream Response body stream.

Post

Executes an HTTP POST request and returns the response.

Parameter Type Description
Connection Connection Optional Connection settings, including authentication and base URL.
URL String Relative or absolute request URL.
Headers Object Optional request headers as key-value pairs, merged with any headers applied by the Connection.
RequestBody Stream Optional payload stream forwarded directly as the request body.
Return Type Description
StatusCode Integer HTTP status code returned by the server.
ResponseHeaders Object Response headers returned by the server.
ResponseStream Stream Response body stream.

Put

Executes an HTTP PUT request and returns the response.

Parameter Type Description
Connection Connection Optional Connection settings, including authentication and base URL.
URL String Relative or absolute request URL.
Headers Object Optional request headers as key-value pairs, merged with any headers applied by the Connection.
RequestBody Stream Optional payload stream forwarded directly as the request body.
Return Type Description
StatusCode Integer HTTP status code returned by the server.
ResponseHeaders Object Response headers returned by the server.
ResponseStream Stream Response body stream.

Patch

Executes an HTTP PATCH request and returns the response.

Parameter Type Description
Connection Connection Optional Connection settings, including authentication and base URL.
URL String Relative or absolute request URL.
Headers Object Optional request headers as key-value pairs, merged with any headers applied by the Connection.
RequestBody Stream Optional payload stream forwarded directly as the request body.
Return Type Description
StatusCode Integer HTTP status code returned by the server.
ResponseHeaders Object Response headers returned by the server.
ResponseStream Stream Response body stream.

Delete

Executes an HTTP DELETE request and returns the response.

Parameter Type Description
Connection Connection Optional Connection settings, including authentication and base URL.
URL String Relative or absolute request URL.
Headers Object Optional request headers as key-value pairs, merged with any headers applied by the Connection.
Return Type Description
StatusCode Integer HTTP status code returned by the server.
ResponseHeaders Object Response headers returned by the server.
ResponseStream Stream Response body stream.

Usage Notes

  • Request and response bodies are streamed, so large payloads are not buffered in memory before they are sent or returned.
  • Set Content-Type in Headers when you send a RequestBody. If you do not set it, the request body defaults to application/octet-stream.
  • If Return Http Failure Responses is false, HTTP responses with status 400 or higher throw an error instead of returning a normal response.
  • If Return Http Failure Responses is true, HTTP responses with status 400 or higher are returned with StatusCode, ResponseHeaders, and ResponseStream so you can inspect them in the same Workflow path.
  • If an OAuth-protected request returns a raw 401, the Node refreshes the access token once and retries the request automatically.
  • OAuth retries for payload-bearing methods require a seekable RequestBody stream so the request can be replayed safely.
  • Existing saved Connections that still carry legacy BaseUrl and Authorization values continue to map onto the shared URL and authorization settings after the OAuth uplift.

Known Issues

  • OAuth support assumes a standard authorization-code bearer-token flow and does not support PKCE-only public-client providers.
  • Client TLS certificates are not supported.