Shortcuts
HTTPBot exposes a set of App Intents — actions you can drop into Apple's Shortcuts app and trigger with Siri or automations. That means you can call your saved APIs from anywhere iOS or macOS lets you run a Shortcut: a Home Screen tile, a time-of-day automation, a Siri phrase, or as one step in a larger Shortcut.
Because each action returns its result, you can chain HTTPBot actions together — make a request, then filter the response, then feed it into another step.
Available actions
Search for "HTTPBot" when adding an action in the Shortcuts app to find these:
| Action | What it does | Inputs | Output |
|---|---|---|---|
| Make Request | Runs a request you've saved in HTTPBot. | The saved Request; optionally an Environment for variable values. | A Response with body, status code, and response headers. |
| Make Request With Variables | Runs a saved request, supplying variables directly instead of choosing a saved Environment. | The saved Request; Variables as a stringified JSON object (e.g. {"userId":"42"}). |
A Response with body, status code, and response headers. |
| Query/Filter JSON, XML or HTML | Runs a JSONPath / XPath query against text. | The input string; the query; the input type (JSON, HTML, or XML). | The filtered string result. |



Make Request
Pick one of your saved HTTPBot requests and, optionally, an Environment whose variables should be applied. HTTPBot resolves the request's {{variables}} (see Environments & Variables), sends it, and hands back a Response object. The Response exposes three properties you can use in later steps: Body, Status Code, and Response Headers.
This is the everyday action — wire it to a Siri phrase or an automation to fire a request hands-free.
Make Request With Variables
Identical to Make Request, except instead of selecting a saved Environment you pass variable values inline as a stringified JSON object. This is ideal when the values come from earlier Shortcut steps or from user input — for example building {"userId":"42","token":"…"} on the fly. The output is the same Response object.
Query/Filter JSON, XML or HTML
Extracts data from a block of text using a path query. Choose the input type:
- JSON — query with JSONPath.
- HTML or XML — query with XPath.
Give it the input string and your query, and it returns the matched value as a string. Pair it with Make Request to pull a single field out of a response.
📝 Unlike the in-app Filter Response feature — which also offers jq for JSON — this Shortcuts action filters JSON with JSONPath only. There's no jq option here, so write JSON queries as JSONPath expressions (e.g.
$.data.name).
See Filtering Responses for more on JSONPath and XPath syntax.
Long-running requests
On iOS 27 and later, Make Request and Make Request With Variables are long-running actions. They are no longer cut off by the system's 30-second limit for Shortcut actions.
While a request runs, the system shows a Live Activity with its progress. Uploads and downloads report real progress; other requests show an indeterminate spinner. Tap Stop on the Live Activity to cancel the request.
A few notes:
- Requests use your settings from Settings → Request Settings (timeout, redirects, SSL validation), the same as requests sent from the app.
- Server-Sent Events (SSE) requests do not stay connected inside a Shortcut. The action returns the connection response (status code and headers) and closes the stream.
Ask Siri about the current screen
On iOS 27 and later, Siri can see the request and response you have open in HTTPBot. Invoke Siri while the editor is on screen and ask about it directly — no copying, no switching apps.
Try phrases like:
- "What URL does this request call?"
- "What's the status code of this response?"
- "Summarize this response."
- "Which cookies did the server set?"
- "Did the tests pass?"
Siri sees everything the response tabs show: the body, headers, cookies, test results, server-sent events, and metrics like protocol and redirects.
This works for saved requests. A brand-new, unsaved request (or a request that has never been sent) has nothing for Siri to look up yet. The response Siri sees is the request's saved response — the one shown after your latest send. You can ask about it from the editor directly; the response view doesn't have to be open.
Ask Siri requires a device with Apple Intelligence enabled.
You'll find a short intro under Ask Siri in the request editor's menu, and in the response view's overflow menu.
Find requests and collections in Spotlight
HTTPBot adds your saved requests and collections to Spotlight, so you can reach one without opening the app first. Swipe down on the Home Screen, type part of a name, and tap the result — HTTPBot opens straight to it.
For requests, you can search:
- The request's name.
- Its URL, so searching
stripefinds a request pointing atapi.stripe.comeven if the name doesn't say so. - Its method, as it appears next to the URL in results.
Results show the request name, its method and URL, and the collection it belongs to. Tapping one opens the request editor.
For collections, search the collection's name. Results show how many requests it holds, and Postman collections are labelled as such. Tapping one opens that collection's request list.
Favourites rank highest, then collections, then requests inside a collection, then loose requests. WebSocket requests are searchable too — a favourited one ranks with the other favourites.
The index keeps itself up to date. Renaming, favouriting, moving or deleting a request is reflected within a second, and renaming a collection updates the collection and every request inside it.
You can also open things by voice:
- "Open List Charges in HTTPBot"
- "Open Stripe API collection in HTTPBot"
Example automations
Make Request → Query/Filter JSON



- Add Make Request and select a request that returns JSON.
- Add Query/Filter JSON, XML or HTML:
- Input — the Body from the previous Make Request step.
- Input Type — JSON.
- Query — a JSONPath expression such as
$.data.name.
- Use the filtered string in a later step — copy it, show it, or send it on.
This pattern turns a raw API response into exactly the one value you care about.
Passing dynamic variables
- Add an Ask for Input (or Text) step to build a JSON string like
{"userId":"42"}. - Add Make Request With Variables and pass that string as Variables.
- Read the Response in the next step.
Use this when the request needs values that aren't known ahead of time.
Tips
- The first time a HTTPBot action runs, you may be prompted to allow it.
- Save the requests you want to automate in HTTPBot first; the actions reference your saved requests by name.
- Keep environment-specific values in an Environment and select it in Make Request, or pass them inline with Make Request With Variables.
Related
- Environments & Variables — supplying variables to automated requests
- Filtering Responses — JSONPath / XPath query syntax
- Building a Request — creating the requests you'll automate