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)