> ## Documentation Index
> Fetch the complete documentation index at: https://iotools.cloud/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Make integration

> Run any IOTools.cloud tool from a Make scenario with the IO Tools app

The **IO Tools** custom app for [Make](https://www.make.com) (formerly Integromat) calls the same public API you already use for REST, MCP, n8n or Zapier: same key, same credits, same 800+ tools.

<Info>
  The app calls the API and MCP surface while it's still in **Beta** — see [API overview](/docs/api/overview).
</Info>

<Note>
  Currently a **private** Make app, not yet listed in Make's App Directory — [accept the invite link](https://www.make.com/en/hq/app-invitation/d691bbcdbc427cb148b01baa23ae3ae3) to connect it. No approval needed on your end; searching for "IO Tools" inside Make itself won't find it yet.
</Note>

## Install

[Accept the invite](https://www.make.com/en/hq/app-invitation/d691bbcdbc427cb148b01baa23ae3ae3), then add **IO Tools** to a scenario like any other app — it'll show up in the module picker from then on.

## Credentials

Add an **iotools.cloud API Key** connection:

| Field        | Value                                                                        |
| ------------ | ---------------------------------------------------------------------------- |
| **API Key**  | Mint one under [Account → API keys](https://iotools.cloud/account/#api-keys) |
| **Base URL** | Defaults to `https://api.iotools.cloud/v1`                                   |

## Modules

One connection, six modules:

| Type              | Name                   | What it does                                                          |
| ----------------- | ---------------------- | --------------------------------------------------------------------- |
| Trigger (polling) | **New Tool Published** | Fires when a new tool is added to the catalog                         |
| Search            | **Find Tool**          | Find a tool by name, slug, description or tag                         |
| Action            | **Run Tool**           | Pick a tool, fill its fields, run it                                  |
| Action            | **Get Tool Schema**    | A tool's input/output JSON Schema and credit cost, without running it |
| Action            | **Get Credits**        | The key's remaining credit balance and rate limit                     |
| Action            | **Get Usage**          | The key's recent credit spend, one row per (tool, day, surface)       |

### Run Tool

* **Tool** — a searchable dropdown populated from the catalog.
* The fields below it are populated dynamically from the selected tool's input schema. Each one's help text carries the property's own description, an enum's valid values listed inline, and a link to the tool's full API reference page. Every field is text, number or boolean — an enum still has to be typed rather than picked from a dropdown, and an array or file input needs the JSON override below instead.
* **Additional Fields (JSON)** — fill this in to send an exact JSON body instead of the fields above, replacing them entirely rather than merging on top — for a value the fields above can't represent well.
* **Simplify Output** — on by default, returns just the tool's `outputs`; off returns the full response envelope (`tool`, `tool_version`, `outputs`, `credits_used`, `credits_remaining`).
* **Allow Running Once Per Bundle?** — off by default, and Run Tool refuses to execute at all until answered Yes. Run Tool runs once per incoming bundle, so chaining Find Tool or an Iterator into it (one bundle per tool) fires one paid call per bundle — this exists so that never happens by accident. Test with a single bundle first, then answer Yes once the bundle count is intentional.

A failed call throws using the API's own [RFC 9457 problem document](/docs/concepts/errors) — the error message is the specific `detail` (falling back to the category title).

## Rate limits

API keys are limited to 60 requests/minute per endpoint on the free tier (higher on paid tiers). Unlike the n8n and Zapier integrations, the Make app doesn't automatically retry a rate-limited call yet — a 429 surfaces as an error immediately; retry manually, or add your own error handler in the scenario. See [Rate limits](/docs/concepts/rate-limits).

## Cost

Same meter as REST, MCP, n8n and Zapier: every **Run Tool** call costs the tool's own credits, refunded if the call fails. **New Tool Published**, **Find Tool**, **Get Tool Schema**, **Get Credits** and **Get Usage** are free. See [Credits](/docs/concepts/credits).

## Troubleshooting

| Symptom                                              | Cause                                                                                                                                                   |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Can't find "IO Tools" searching Make's App Directory | Still a private app — use the [invite link](https://www.make.com/en/hq/app-invitation/d691bbcdbc427cb148b01baa23ae3ae3) above, not App Directory search |
| Run Tool fails with "refuses to execute until…"      | The **Allow Running Once Per Bundle?** field is set to No or left Empty — answer Yes once you've confirmed the bundle count is intentional              |
| Every call fails with `invalid_api_key`              | Key revoked, or the connection's Base URL doesn't match where the key was minted                                                                        |
| `insufficient_credits`                               | Out of credits for the month — see [Credits](/docs/concepts/credits)                                                                                         |
