Names changed in May 2026:
- Ignore is now Skip, and Break is now Retry. Resume, Rollback and Commit kept their names.
- Exported blueprints still use
builtin:Ignoreandbuiltin:Break(plusbuiltin:Resume,builtin:Rollback,builtin:Commit). - Make bills in credits. The out-of-credits error is still called
OperationsLimitExceededError.
When does Make switch a scenario off?
- Scheduled scenarios switch off after the Errors before deactivation limit (default 3) of errors in a row.
- Instant-trigger scenarios (webhooks, instant app triggers) switch off after the first error.
- Fatal errors switch any scenario off immediately, whatever the limit (marked ⚠ below).
- Warnings don't count. A run that ends with a warning keeps the scenario on.
- Handled errors change the result: Skip and Resume end the run as a success, Retry and Commit end it with a warning, and Rollback ends it with an error that counts toward the limit. An error route without a handler module (for example only a Slack alert) works like Skip.
- No handler: with Store incomplete executions off, the run fails like Rollback and counts. With it on, Make stores an incomplete execution and the run ends with a warning (not when the very first module fails).
Make error types
| Error type | What it means | Typical cause | First fix to try | Handler that fits | Switches the scenario off? |
|---|---|---|---|---|---|
| ConnectionError | The app is unavailable (Make uses this for 502, 503, 504) | Outage or maintenance at the service | Wait; check the service's status page | None needed with Store incomplete executions on: Make retries it automatically. Retry for your own schedule | Not at first: Make pauses the schedule for about 20 minutes and retries |
| RateLimitError | Too many requests to the app (HTTP 429) | Bursts of bundles, loops, a shared API quota | Fewer items per run, a Sleep module, batch calls | As ConnectionError | As ConnectionError |
| ModuleTimeoutError | No response in time (most modules wait 40 or 60 seconds) | Slow or overloaded API, large request | Retry; make the request smaller | Retry (also auto-retried when incomplete executions are stored) | After the limit |
| DataError | The app rejected the data, or a function got the wrong type | Text too long, wrong date or number format, text into parseDate() | Check the input bundle; fix the mapping. Dates: see Google Sheets date errors | Resume with a safe value, or log + Skip | After the limit |
| BundleValidationError | The bundle failed Make's own check before the module ran | Empty value in a required field, text in a date field | Fix the mapping; filter out empty values before the module | Log + Skip, or Resume | After the limit |
| DuplicateDataError | The app refuses a duplicate | Same email or record sent twice, a re-run | Search before create, or update instead | Log + Skip | After the limit |
| IncompleteDataError | The module got only part of the data | A file still uploading while it's downloaded | Add a delay; try again later | Retry | Make pauses about 20 minutes and re-runs; off if it reaches the limit |
| RuntimeError | Catch-all: an app error that fits no other type | Many 4xx responses with the app's own message | Read the message in History; usually data or permissions | Depends on the message | After the limit |
| MaxFileSizeExceededError | The file is larger than your Make plan allows | Large attachments or exports | Compress or split the file, or pass a link | Log + Skip | After the limit |
| MaxResultsExceededError | More results than the module may return | A search without filters | Narrow the search; paginate; lower the limit | None (fix the design) | After the limit |
| ⚠ AccountValidationError | Make can't log in to the app (often with 401 or 403) | Changed password, expired credentials, revoked access | Check the credentials; reconnect or create a new connection | None: it happens before the run starts, so no handler can catch it | Immediately |
| ⚠ InvalidAccessTokenError | The connection's access token isn't valid | Expired or revoked OAuth token | Reauthorize the connection | None (needs a fix) | Immediately |
| ⚠ InvalidConfigurationError | The module or scenario setup is wrong | Deleted sheet or field, missing required setting | Open the module and fix the setup | None (needs a fix) | Immediately |
| ⚠ InconsistencyError | A rollback couldn't safely undo changes | Two scenarios changing the same data store at once | Check and fix the data by hand; avoid parallel writes | None | Immediately |
| ⚠ OperationsLimitExceededError | The organization is out of credits | Usage above plan, loops, frequent polling | Buy extra credits or upgrade; find what uses them | None | Immediately |
| ⚠ DataSizeLimitExceededError | The data transfer quota is used up (it's derived from your credits) | Large files or payloads | Buy extra credits or upgrade | None | Immediately |
Warnings (the scenario stays on):
| Warning | What it means | First fix | Note |
|---|---|---|---|
| OutOfSpaceError | A data store is full, or the incomplete-executions storage is full | Delete old records; raise the limit; Resume into a backup data store | If incomplete-executions storage is full and Discard data if storage is full is off, Make disables the scenario |
| ExecutionInterruptedError | The run hit the time limit: 45 minutes (10 minutes on the Free plan) | Split the scenario; lower search limits; batch API calls | Remaining bundles are not processed |
More on each handler: Make error handling explained.
HTTP status codes in Make
These appear in the HTTP module and inside app errors. By default Make treats 429 as a RateLimitError, 5xx as a ConnectionError and other 4xx codes as a RuntimeError; 401 and 403 can also show up as AccountValidationError.
In the HTTP module, set Return error if HTTP request fails to Yes (in the older HTTP module: Evaluate all states as errors (except for 2xx and 3xx)). Without it, a 4xx or 5xx response passes as a normal result and no error handler runs.
| Code | Meaning | Usual fix | Retry? |
|---|---|---|---|
| 400 Bad Request | The request is malformed or a value is invalid | Check the body, Content-Type and required fields | No |
| 401 Unauthorized | Missing or invalid credentials | Reauthorize the connection; check the API key | No |
| 403 Forbidden | Authenticated, but not allowed | Add scopes or permissions; share the file; ask an admin | No |
| 404 Not Found | The resource doesn't exist (for this account) | Check IDs, the account, and whether the item was deleted | No |
| 409 Conflict | The resource already exists, or a version conflict | Update instead of create; search first | No |
| 410 Gone | The resource was removed for good (e.g. an inactive Make webhook) | Create a new resource or URL | No |
| 413 Payload Too Large | The request body is too big | Send less data, or a file link instead | No |
| 422 Unprocessable Entity | Valid format, but the data fails validation | Read the error details; fix the values | No |
| 429 Too Many Requests | Rate limit reached | Slow down; respect Retry-After | Yes |
| 500 Internal Server Error | Error on the service's side | Retry; contact the service if it persists | Yes |
| 502 Bad Gateway | Upstream error at the service | Retry later | Yes |
| 503 Service Unavailable | Service overloaded or in maintenance | Retry later | Yes |
| 504 Gateway Timeout | The service didn't answer in time | Retry; send smaller requests | Yes |
App-specific errors
Google Sheets
| Error | Meaning | Fix |
|---|---|---|
| 404 "Requested entity was not found" | Wrong spreadsheet ID, or the connected account can't see the file | Reselect the file; check which Google account is connected |
| 403 "The caller does not have permission" | The file isn't shared with the connected account | Share it, or connect the owner's account |
| 400 "Unable to parse range" | The tab was renamed or deleted | Reselect the sheet (tab) in the module |
| 429 / "Quota exceeded" | Google allows 60 read and 60 write requests per minute per user | Fewer calls: one Search Rows instead of many Get a Cell, fewer items per run |
invalid_grant / token expired | The connection lost access | Reauthorize. With your own Google Cloud OAuth client in "Testing" status, tokens expire after 7 days |
Search Rows finds nothing? See Search Rows returns nothing.
Gmail
| Error | Meaning | Fix |
|---|---|---|
invalid_grant / 401 | Token expired or revoked | Reauthorize the connection |
| 403 insufficient scopes | The connection lacks a Gmail permission | Reauthorize the connection and approve all requested permissions. See Google connection errors |
| 400 "Invalid To header" | Bad or empty recipient address | Filter out empty addresses; trim() the address |
| Sending limit reached | Google Workspace: 2,000 messages a day per user (500 on trial accounts); personal Gmail accounts have lower limits | Send fewer emails; the limit resets over a rolling 24 hours |
Slack
| Error | Meaning | Fix |
|---|---|---|
channel_not_found | The channel value is invalid for this connection | Use the channel ID; invite the app to the channel (with a bot connection, public channels too); check the workspace. See Slack channel_not_found |
not_in_channel | The app or user isn't a member of the channel | /invite the app to the channel, or join it with the connected user |
invalid_auth | The token is invalid (or the request came from a blocked IP) | Reauthorize the Slack connection |
is_archived | The channel is archived | Unarchive it, or choose another channel |
ratelimited (429) | Too many messages too fast (about 1 per second per channel) | Retry; combine messages |
HubSpot
| Error | Meaning | Fix |
|---|---|---|
| 409 "Contact already exists. Existing ID: …" | Create on an email that already exists (also as a secondary email) | Search first, or update the existing ID |
400 VALIDATION_ERROR / property doesn't exist | Invalid value or unknown property name | Use the property's internal name; check the value format |
401 / 403 MISSING_SCOPES | Token invalid, or the connection lacks scopes | Reauthorize and approve the contact read/write permissions |
| 429 rate limit | Too many API calls in a short time (limits depend on your HubSpot subscription) | Retry; reduce calls per run |
Shopify
| Error | Meaning | Fix |
|---|---|---|
| 401 | Invalid or revoked access | Reconnect the store (in Make's Domain field, enter only your-store from your-store.myshopify.com) |
| 403 / missing scope | The connection lacks a permission | Reconnect and approve all requested permissions |
| 404 | Order or product not found, or the wrong store | Check the ID and the connected store |
| 429 throttled | API limit reached (limits depend on the API and the store's plan) | Retry; fewer calls per run |
| 422 | Validation failed on create or update | Read the field errors; fix the values |
Older orders missing? Shopify apps see only the last 60 days of orders unless they have the read_all_orders permission, which Shopify must approve. More in Shopify orders to Google Sheets.
Webhooks (Make custom webhooks)
| Error | Meaning | Fix |
|---|---|---|
| 400 "Queue is full" | Too many unprocessed requests are waiting (the queue size depends on your credits, up to 10,000 items) | Switch the scenario on and fix its errors so the queue drains; delete stale items |
| 410 Gone | The webhook was deactivated because it wasn't connected to a scenario for more than 5 days | Connect it to a scenario again, or create a new webhook and update the sender |
| Payload over 5 MB | The body is over Make's webhook size limit (5 MB on every plan) | Send smaller payloads, or a file link |
| 429 "Too many requests" | More than 300 requests in 10 seconds | Batch or slow down on the sender side |
| "Waiting for data" forever | No request reached this URL | Check the URL; send a test with curl. See webhook not receiving data |
Setting up a webhook from scratch: receive webhook data in Google Sheets.
Which handler when
- Temporary errors (429, 5xx, timeouts, ConnectionError): turn on Store incomplete executions. Make then retries ConnectionError, RateLimitError and ModuleTimeoutError automatically. Use Retry for other temporary failures, or to set your own attempts and interval (default 3 attempts, 15 minutes apart).
- Bad data in one item that you can safely leave out: log the error, then Skip.
- An optional value is missing and a safe default exists: Resume with a realistic value, never "TBD".
- Transactional modules (marked ACID, such as Data store or MySQL) that must be all-or-nothing: Rollback (undo) or Commit (keep). Google Sheets rows, sent emails and HTTP calls are not undone.
- Auth, permission or configuration errors: no handler fixes these. Send an alert and fix the connection or setup.
- No handler at all: with Store incomplete executions off, the run fails like Rollback and counts toward deactivation.
More detail: Make error handling explained.
The 3 scenario settings that matter
| Setting | What it does | Recommended |
|---|---|---|
| Store incomplete executions | Saves a failed run so you can fix and finish it, or let Make retry it. Required for the Retry handler and for automatic retries | On, unless the data must not be stored |
| Errors before deactivation | How many errors in a row before Make switches the scenario off (default 3). Ignored for instant triggers, which switch off on the first error | Keep 3; add alerts rather than raising it |
| Process data in order | Runs one at a time, in the order received; new runs wait until incomplete executions are resolved | On for webhooks where order or duplicate checks matter. One unresolved incomplete execution blocks later runs |
When a scenario has already switched off, see why a Make scenario stopped running. For step-by-step fixes to the most frequent problems, see common Make scenario errors.
Download: Make.com Error Cheat Sheet (2026), printable PDF (2 pages, A4).
No Make account yet? Create a free Make account (affiliate link).
Ad disclosure: links marked "affiliate link" are ads. If you sign up through them, Flowpaja may earn a commission at no extra cost to you. Error names, settings and limits were checked against Make's Help Center in October 2026. Make changes labels and limits, so check the Help Center if something looks different.