InTouch Hub · Blue Isle Software

HTTP GET

Fetch a URL via HTTP GET. Returns status, body, content-type, and (if the body is JSON) each top-level field as a separate output.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

httpmessagestatus

HTTP GET

Fetch a URL via HTTP GET and return the response body, status code, and content type. If the body is a JSON object, each top-level field is exposed as a separate step output so downstream steps can reference {{fetch.fieldName}} directly.

Tool ID

http-get

Credential Required

No.

Input Properties

Property Type Default Description
url string Required. Full URL to fetch. Must start with http:// or https://.
authToken string "" Optional bearer token. Sent as Authorization: Bearer <token>. Leave blank for no auth.
headers string "" Optional extra request headers as newline-separated Name: Value pairs, e.g. Accept: text/xml\nX-API-Key: abc123.
timeoutSeconds string "30" Request timeout in seconds. Step-level timeout is 60s.

Published Outputs

Output Type Description
status string HTTP status code ("200", "404", etc.). "0" on transport failure.
body string Response body as UTF-8 text. Capped at 5 MB.
contentType string The Content-Type response header.
isJson string "true" if the body parsed as JSON, "false" otherwise.
truncated string "true" if body was capped at 5 MB. Only present when truncated.
error string Transport error message. Only present on transport failure.
JSON top-level fields string When isJson=true and the body is a JSON object, each top-level field is exposed as a string-valued output. Nested objects/arrays are JSON-stringified.

Behavior

Example 1 — Fetch a JSON API

Input:

{
  "tool": "http-get",
  "properties": {
    "url": "https://jsonplaceholder.typicode.com/posts/1"
  }
}

Output (actual captured run):

status: 200
contentType: application/json; charset=utf-8
isJson: true
userId: 1
id: 1
title: sunt aut facere repellat provident occaecati excepturi optio reprehenderit
body: {
  "userId": 1,
  "id": 1,
  "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
  "body": "quia et suscipit..."
}

Downstream steps can reference {{fetch.title}} or {{fetch.userId}} directly without JSONPath.

Example 2 — Bearer auth

{
  "tool": "http-get",
  "properties": {
    "url": "https://api.example.com/me",
    "authToken": "{{input.apiToken}}"
  }
}

The tool sends Authorization: Bearer <token>. For other auth styles (basic, custom header), use the headers field.

Example 3 — Custom headers

{
  "tool": "http-get",
  "properties": {
    "url": "https://api.example.com/data",
    "headers": "Accept: application/xml\nX-API-Key: {{input.apiKey}}\nX-Request-ID: {{workflow.id}}\n"
  }
}

Each line of headers is Name: Value. Variable references work inside.

Example 4 — Handle a 404 gracefully

[
  {
    "name": "fetch",
    "tool": "http-get",
    "properties": {
      "url": "https://api.example.com/items/42"
    }
  },
  {
    "name": "branch",
    "tool": "condition",
    "condition": "{{fetch.status}} == 200",
    "thenSteps": [
      "..."
    ],
    "elseSteps": [
      "..."
    ]
  }
]

Because a 404 returns normally (doesn't fail the step), you can check status and branch.

Chaining Patterns

Limitations

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.

Input Properties

Every property this tool accepts, from its own tool.iml.

Property Type Required Default Description
url string yes Full URL to fetch (must start with http:// or https://)
authToken string no Optional bearer token. Leave blank for no auth. For other auth styles, pass a custom Authorization header via the headers field.
headers string no Optional extra request headers as newline-separated 'Name: Value' pairs, e.g. 'Accept: text/xml\nX-API-Key: abc123'
timeoutSeconds string no 30 Request timeout in seconds (default 30, capped at 60 by step timeout)