All integrations
Built inSmart home and web

HTTP

Included with Macro Deck

Send HTTP requests from a button and save values from the response into variables.

  • GET, POST, PUT, PATCH, DELETE and more, with query and headers
  • Basic, bearer token or API key header authentication
  • JSON, form, text and file upload bodies
  • Save the status, headers or JSON values into variables
  • Variables in the values of query parameters and headers

The HTTP integration sends web requests from Macro Deck. Use it to call a webhook, control a device on your network that has a web API, or read a value from an online service and show it on a button. It comes with Macro Deck and is turned on from the start, so there is nothing to connect or sign in to.

Two actions

Send HTTP Request builds a full request. You choose the Method, enter the URL and add Query parameters and Headers as name and value pairs. Under Body type you pick none, json, form, text or multipart (a file upload with extra form fields). Authentication offers basic (username and password), bearer (a token) and header (a token in a header you name, for example X-Api-Key). Expected status decides which answers count as success, 2xx by default. You can also set the Timeout, turn off Follow redirects and limit the Max response size (bytes).

Captures save parts of the response into variables. Each line pairs a variable name with a selector: $status, $ok, $duration, $body, $truncated, $headers, $header:<name> or a JSON path such as data.items[0].name. A variable that does not exist yet is created.

Get JSON Value is the short form for reading one value: enter the URL, a JSON path and the variable under Save to variable.

Example setups

  • A button that posts {"text": "Stream is live"} to a chat webhook with Send HTTP Request and body type json.
  • A button that turns on a smart plug on your network through its local web API.
  • A button that reads the current price from a public API with Get JSON Value and shows it in its label with {{ vars.price }}.
  • A flow that sends a request, captures $status and uses If / Else to color the button red when the server did not answer with 200.

The values of query parameters and headers can contain variables, for example {{ vars.channel }}. The request runs on the computer where Macro Deck runs, so addresses like http://192.168.1.20 reach devices in that computer's network. An action fails with a clear message when the server cannot be reached, the request times out, the TLS certificate is rejected or the status is not the one you expected.

Home Assistant

Included with Macro Deck

Switch lights, run scenes and scripts, and show live states from your Home Assistant on your deck.

AdGuard Home

Included with Macro Deck

Turn AdGuard Home protection on, off or pause it, and show its statistics on your deck.

RSS feeds

Included with Macro Deck

Follow RSS and Atom feeds, show their newest articles in widgets and react when new articles arrive.

Weather

Included with Macro Deck

Show the current weather and the forecast for your locations on your deck, without an API key.