automatelab/automation-error-index huggingface dataset:
Platform: Zapier
Category: config
Error: Failed to run your JavaScript code - ReferenceError: $ is not defined
Cause: Code by Zapier runs in Node.js and does not include jQuery, so $ (and $.ajax) are undefined.
Fix: Replace jQuery-style calls with native fetch: const resp = await fetch(url); const data = await resp.json();. Remove any require('jquery') - the environment cannot install packages.
Platform: Zapier
Category: config
Error: ReferenceError: fetch is not defined
Cause: The Code by Zapier step runs on a Node.js version older than 18, where global fetch does not exist.
Fix: Check the Node version in the Code step settings and switch to Node 18+ if available. If you cannot change the runtime, use the https built-in module, or move the request into a custom integration using z.request.
Platform: Zapier
Category: config
Error: Error: You did not define `output`!
Cause: The Code by Zapier JavaScript step finished without assigning the required 'output' variable, so Zapier has no data to pass on.
Fix: Set output to a plain object before the code ends, e.g. output = { result: myValue };. With async/await, use return { result: myValue } from the async function. With callbacks, ensure callback(null, { result }) is always reached, including error branches.
Platform: Zapier
Category: config
Error: ReferenceError: input_data is not defined
Cause: In the Code by Zapier JavaScript step, mapped inputs are exposed as inputData (camelCase), not input_data; the wrong name throws.
Fix: Rename references from input_data to inputData. Confirm field names match the Input Data panel exactly. Note the Python Code step uses input_data while the JavaScript step uses inputData.
Platform: Zapier
Category: schema
Error: The app returned "Contact id or email is required" (422)
Error code: 422
Cause: A required identifier (contact ID or email) was empty or unmapped in the action step, so the destination app rejected the request as unprocessable.
Fix: Open the action and verify at least one required identifier has a non-empty mapped value. Check the Zap history data-in panel to confirm the mapped field has data for the failing record. Add a Filter before the action to halt when the identifier is blank.
Platform: Zapier
Category: schema
Error: Status Code 400 Bad Request
Error code: 400
Cause: The destination app rejected the request because a required field was missing, empty, or in an unrecognised format (e.g. a name in an email field).
Fix: Open the Zap history entry, click the failing action, and inspect Data In to find the bad value. Strip optional fields and test with required fields only to isolate the problem field. Add a Formatter to convert the value to the expected format. Re-enable optional fields one at a time.
Platform: Zapier
Category: rate-limit
Error: Trigger partner failure (throttling)
Cause: The trigger app is rate-limiting or throttling Zapier's polling requests, causing the trigger poll to fail.
Fix: Wait for the throttling window to expire; Zapier catches up on the next successful poll. If persistent, reduce polling frequency (a plan with longer intervals) or switch to an instant webhook trigger if the app supports it. Contact the partner if the throttling seems unintended.
Platform: Zapier
Category: config
Error: Invalid input JSON when configuring custom request
Cause: Extra whitespace, a trailing comma, or an unescaped character in the JSON body of a Webhooks/HTTP action made the payload invalid before sending.
Fix: Paste the JSON body into a validator (e.g. jsonlint.com) to find the syntax error. Remove leading/trailing whitespace and tabs in the field. Ensure dynamically mapped strings that may contain quotes are properly escaped. Save and re-test.
Platform: Zapier
Category: auth
Error: This auth is expired. Please reconnect it here.
Cause: The OAuth token for a connected app expired or was revoked, so Zapier lost access to the third-party account.
Fix: Click the reconnect link, or go to My Apps, find the connection, and click Reconnect with valid credentials. After reconnecting, replay any held runs from Zap History.
Platform: Zapier
Category: config
Error: Usage of Paths is not allowed for your current plan.
Cause: Paths is only available on Professional plans and above; enabling a Zap with a Paths step on Free/Starter triggers this error.
Fix: Upgrade to Professional or higher to use Paths permanently, or start Zapier's free 7-day Paths trial from inside the editor. If you cannot upgrade, replace Paths with individual Filter steps on separate Zaps.
Platform: Zapier
Category: config
Error: Your Zap would not have continued for this test data.
Cause: The sample data used during testing did not satisfy the Filter/Path condition, so the Zap would have stopped at that step.
Fix: Compare the filter conditions to the actual sample values - look for hidden spaces, text-vs-number mismatches, or '(missing value)' fields. If you changed the trigger, reload sample data and remap the filter fields. Use 'Contains' instead of 'Exactly matches' when formatting varies. Test with a live record.
Platform: Zapier
Category: config
Error: Your path would not have continued
Cause: The data in a run did not meet a Paths branch condition, so execution stopped at that branch instead of continuing downstream.
Fix: Review the branch condition for hidden whitespace, case sensitivity, or array data needing flattening (Formatter > Utilities > Line Items to Text). Test Paths with a live run rather than in isolation. Add a catch-all 'else' path so runs are never silently dropped.
Platform: Zapier
Category: config
Error: Error from Slack: channel_not_found
Error code: channel_not_found
Cause: Slack returned channel_not_found because the connected Zapier account is not in the target channel, the channel was renamed, or a username was passed instead of a channel/member ID.
Fix: Invite the Zapier bot/user to the channel with /invite @Zapier. For DMs, use the 'Find User by Username' action to get the member ID and map that, not the username. If the channel was renamed, update the field. For private channels, test with a live run.
Platform: Zapier
Category: auth
Error: Oops! Neither you nor the bot are in the selected channel
Cause: Both the Zapier Slack bot and the authenticated Slack user are absent from the channel named in the action, so Slack rejects the request.
Fix: In Slack, open the target channel and type /invite @Zapier to add the bot. Ensure the account used to connect Slack in Zapier is also a member. Re-test after both are confirmed members.
Platform: Zapier
Category: schema
Error: There was an error writing to your Google sheet. Unable to parse range
Cause: Google Sheets rejected the range because the sheet/spreadsheet title has a special character (often a colon), the worksheet was renamed after the Zap was built, or a frozen/hidden/protected row is targeted.
Fix: Remove colons and special characters from worksheet/spreadsheet titles. If renamed, reselect the spreadsheet and worksheet in the Zap and re-test. Unfreeze/unhide targeted rows/columns. Ensure at least one column value is populated before the Zap fires.
Platform: Zapier
Category: schema
Error: Google Sheets error: Could not find the selected worksheets
Cause: The Worksheet field needs a worksheet ID, not a name; when the name is passed dynamically Zapier cannot resolve it to a sheet.
Fix: Add a 'Google Sheets - Find Worksheet' action before the failing step and map its output (the worksheet ID) into the Worksheet field. Do not pass the worksheet name as a dynamic value. For static sheets, pick the worksheet from the dropdown.
Platform: Zapier
Category: auth
Error: Webhooks by Zapier: The app returned "Forbidden" (403)
Error code: 403
Cause: The target server rejected the webhook with 403 because the API key/Bearer token or auth header is missing, wrong, or lacks permissions.
Fix: Check the request headers and confirm the Authorization value is current and correctly formatted (e.g. Bearer <token>). Regenerate the key/token if rotated or revoked. Verify the endpoint URL and that the credential can access it. Re-test after updating.
Platform: Zapier
Category: rate-limit
Error: Sorry! That is too many emails sent. Please try Mandrill, Mailgun, Gmail, or others for bulk email
Cause: The Email by Zapier built-in action hit its account-wide hourly/daily cap (5/day free, 10/hour paid), which applies across all users on the account.
Fix: Switch from Email by Zapier to a dedicated email app (Gmail, Mailgun, Mailchimp Transactional) with higher volume. If low volume is fine, reduce trigger frequency or add a Filter to limit which records send. For teams, coordinate usage so one user does not exhaust the shared quota.
Platform: Zapier
Category: rate-limit
Error: Gmail error: Quota exceeded for quota metric 'Queries' (Queries per minute per user)
Cause: Multiple Zaps firing simultaneously exceeded Google's per-user Gmail API quota, so Gmail rate-limits Zapier's requests.
Fix: Reduce the number of Gmail-triggered/action Zaps running concurrently and remove unnecessary Gmail steps. Replay throttled runs from Zap History after the per-minute quota resets (~60s). For sustained volume, use a Google Workspace account which has higher Gmail API limits than a personal account.
Platform: Zapier
Category: timeout
Error: The app did not respond in time. It may or may not have completed successfully.
Cause: The connected app took longer than Zapier's ~30s execution window to respond, typically when querying a large dataset or uploading a large file.
Fix: For triggers, add filters to reduce returned data; for actions, split the work into smaller steps. Reconnect the app account and re-test after a few minutes, since transient slowdowns self-resolve. Enable Autoreplay so Zapier retries the timed-out step automatically.
Platform: Zapier
Category: rate-limit
Error: This [App] step was throttled by Zapier
Error code: throttled
Cause: Zapier flood-protection triggered because the Zap fired too many runs in a short window (e.g. 100+ tasks queued at once).
Fix: Add a 'Delay After Queue' step before the throttled action to spread requests. On paid plans, adjust the flood-protection limit in the Zap settings. Replay held runs from Task History once the window passes; for high-volume triggers, split across Zaps or use Looping with a delay.
Platform: Zapier
Category: config
Error: This [App] step was held because you've met your plan limits
Cause: The account consumed its monthly task allowance (or the plan does not support multi-step Zaps), so Zapier pauses further runs.
Fix: In Settings > Billing, upgrade to a higher task limit or enable pay-per-task. Held runs are not lost — replay them from Zap History once tasks are available. If tasks show available but the error persists, the Zap may use a premium app not in your plan; verify app-tier eligibility.
Platform: Zapier
Category: schema
Error: Halted exception. Nothing could be found for the search
Error code: halt
Cause: A Search action returned zero results, which Zapier treats as a hard halt unless configured to continue on empty results.
Fix: In the search action's Configure tab, enable 'Should this step be considered a success when nothing is found?' (or the 'Create record if not found' option). Verify the lookup value matches exactly (spaces, case, numeric vs string). For legitimately-absent data, add a Paths or Filter step to handle the empty branch.
Platform: Zapier
Category: auth
Error: Authentication failed: The app returned "Invalid API Key"
Cause: The stored API key is wrong, expired, or lacks the permissions required by the action.
Fix: In My Apps, reconnect the affected app and re-enter the key directly from the source app (copy-paste to avoid stray spaces). Confirm the key was not rotated or revoked and that its scopes match the action (read-write vs read-only). If a security/firewall plugin is active (common on WordPress), temporarily disable it to rule out request blocking.
Platform: n8n
Category: other
Error: throw a custom error in an n8n Code node inside a loop
Cause: Set the n8n Code node's "On Error" to "Continue (using error output)" to keep the loop running after failures - but colons in error messages are silently truncated (n8n issue #16120); return {success:false,...
Platform: n8n
Category: other
Error: n8n nested loops: the inner loop retains completed state bug
Cause: n8n's inner Loop Over Items skips from the second outer iteration onward because nodeContext.done persists; fix by updating n8n (PR #23775), enabling Reset on the inner node, or using the Done-branch chain pattern
Platform: n8n
Category: auth
Error: n8n OAuth callback URL returning 401
Error code: 401
Cause: n8n OAuth callback 401 means the redirect URI in your OAuth app doesn't match what n8n generates; copy the exact URL from n8n's credential screen and register it in your OAuth provider's allowed redirect URIs
Platform: n8n
Category: other
Error: n8n Loop node only processes the first item: how to fix it
Cause: Loop Over Items stops after one batch because the loop-back wire is missing; connect your last processing node's output back to Loop Over Items, or skip the node entirely - n8n iterates all items automatically without it
Platform: n8n
Category: auth
Error: n8n webhook returning 403 instead of 401 for invalid Basic Auth
Error code: 403
Cause: n8n webhooks return 403 (not 401) for wrong Basic Auth credentials, violating RFC 7235 - fix it with an nginx reverse proxy or wait for the patch tracked in GitHub issue #26365
Platform: n8n
Category: auth
Error: Requested version 20250401 is not active
Error code: 20250401
Cause: Every n8n LinkedIn node call started returning 426 - {"status":426,"code":"NONEXISTENT_VERSION","message":"Requested version 20250401 is not active"} in mid-April 2026 because the node hard-codes a LinkedIn-Version...
Platform: n8n
Category: auth
Error: Quota exceeded
Cause: n8n's Google Sheets node returns 429 Quota exceeded once a workflow exceeds 60 reads or 60 writes per minute per Google user; batch the writes, throttle with the Wait node, and stop sharing the n8n Cloud OAuth client
Platform: n8n
Category: connectivity
Error: ECONNREFUSED
Cause: An ECONNREFUSED error from an n8n HTTP Request node means the target host is reachable on the network but is actively refusing the TCP connection on that port
Platform: n8n
Category: timeout
Error: Problem in node 'HTTP Request' - timeout of 300000ms exceeded
Error code: ECONNABORTED
Cause: The target API did not respond within n8n's default 5-minute (300000 ms) HTTP timeout window.
Fix: Open the HTTP Request node, click 'Add Option', and set a higher 'Timeout' value in milliseconds. If the API is genuinely slow, split large payloads into smaller batches with a Loop node so each request completes faster. On self-hosted instances set N8N_HTTP_REQUEST_TIMEOUT to override the global default.
Platform: n8n
Category: auth
Error: Authorization failed - please check your credentials
Cause: The credential attached to the HTTP Request node is missing, expired, or not sent in the header format the API requires.
Fix: Confirm the token/key is still valid with the provider. Verify the node's authentication type matches what the API expects (Header Auth, Bearer, Basic). If the credential test passes but execution fails, inject the header manually in the Headers section to bypass the credential layer. Check the raw response body for a more specific message.
Platform: n8n
Category: auth
Error: Request failed with status code 401
Error code: 401
Cause: The target API rejected the request because valid authentication credentials were absent or invalid in the headers.
Fix: Verify the API key/token is correct and not revoked. Ensure the header name matches the API spec (Authorization: Bearer vs x-api-key). For OAuth2, refresh the token and re-save the credential. On self-hosted n8n, confirm DB env vars are set so the internal auth layer initialises.
Platform: n8n
Category: rate-limit
Error: AxiosError: Request failed with status code 429
Error code: 429
Cause: The destination API returns 429 because n8n is sending requests faster than its rate limit allows.
Fix: Add a Wait node between iterations to space out requests. Enable batching in the HTTP Request node Options with a small batch size. Check your API tier - some providers lower limits when balance drops. For webhook-triggered flows, add queue or debounce logic to avoid bursts.
Platform: n8n
Category: auth
Error: Request failed with status code 403
Error code: 403
Cause: The server refuses to authorise the request, commonly because n8n's IP or user-agent is blocked by a WAF/Cloudflare or the API key lacks scope.
Fix: If the endpoint is behind Cloudflare, add CF-Access-Client-Id/Secret headers or whitelist n8n's IP. Verify the key has the required scopes. Add a realistic User-Agent header to bypass basic bot-detection. On self-hosted n8n, confirm the credential was not overwritten after an upgrade.
Platform: n8n
Category: connectivity
Error: socket hang up
Error code: ECONNRESET
Cause: The remote server closed the TCP connection mid-transfer, often when n8n is behind a corporate proxy or the API drops long-lived connections.
Fix: Behind a corporate proxy, set HTTPS_PROXY/HTTP_PROXY and bootstrap global-agent so Node routes through the proxy; set NO_PROXY for localhost. If intermittent, enable 'Retry On Fail' on the node. On Windows installs, use a .env file with dotenv-cli rather than shell 'set' so variables persist.
Platform: n8n
Category: connectivity
Error: self signed certificate
Error code: DEPTH_ZERO_SELF_SIGNED_CERT
Cause: The target HTTPS endpoint presents a self-signed certificate that n8n's Node TLS layer rejects because it is not in a trusted CA chain.
Fix: In the HTTP Request node Options, toggle on 'Ignore SSL Issues'. For nodes lacking that option, set NODE_TLS_REJECT_UNAUTHORIZED=0 as a temporary, private-network-only workaround. For a proper fix, point NODE_EXTRA_CA_CERTS (or SSL_CERT_FILE) at your internal CA bundle.
Platform: n8n
Category: connectivity
Error: self-signed certificate in certificate chain
Error code: SELF_SIGNED_CERT_IN_CHAIN
Cause: An intermediate certificate in the server's TLS chain is self-signed or issued by a private CA n8n does not trust.
Fix: Enable 'Ignore SSL Issues' in the HTTP Request node, or 'Allow Unauthorized Certificates' for DB/SMTP nodes. On Docker, mount the internal CA cert and set NODE_EXTRA_CA_CERTS=/path/to/ca.crt in the container. Avoid global NODE_TLS_REJECT_UNAUTHORIZED=0 in production - scope the bypass to the credential.
Platform: n8n
Category: connectivity
Error: unable to verify the first certificate
Error code: UNABLE_TO_VERIFY_LEAF_SIGNATURE
Cause: The server's TLS chain is incomplete - the leaf cannot be traced to a trusted root because intermediate certificates are missing.
Fix: Fix is server-side: configure the web server to serve the full chain including intermediates. Temporarily enable 'Ignore SSL Issues' in the node to confirm the cause. Verify with 'openssl s_client -connect host:443' and look for 'verify error'.
Platform: n8n
Category: connectivity
Error: getaddrinfo ENOTFOUND
Error code: ENOTFOUND
Cause: DNS resolution failed - the hostname cannot be resolved to an IP from within the n8n runtime.
Fix: Confirm the hostname is correct and reachable from the n8n host (nslookup/dig). For Docker, check the container's DNS config or use host networking. For internal hostnames, add to /etc/hosts or use the IP directly. On n8n Cloud, the domain must be publicly resolvable - .local hostnames never resolve.
Platform: n8n
Category: connectivity
Error: Maximum number of redirects exceeded
Cause: The HTTP Request node followed more redirect hops than its limit, often from a redirect loop caused by mismatched OAuth signing URLs or proxy misconfiguration.
Fix: Ensure the URL used to build auth headers exactly matches the request URL (a mismatch triggers an auth-failure redirect loop). In Options, set 'Follow Redirect' false and 'Ignore Response Code' true to capture the raw redirect for debugging. Check that any proxy is not issuing redirects back to n8n.
Platform: n8n
Category: config
Error: PayloadTooLargeError: request entity too large
Error code: 413
Cause: The incoming webhook payload exceeds n8n's configured body size limit, so the HTTP layer rejects it before the workflow runs.
Fix: Set N8N_PAYLOAD_SIZE_MAX to a higher value in MB (e.g. 64) and restart. For large binary uploads also set N8N_DEFAULT_BINARY_DATA_MODE=filesystem. Behind nginx, raise client_max_body_size too. In Docker, add the env var to compose.
Platform: n8n
Category: config
Error: Workflow Webhook Error: Workflow could not be started!
Cause: The production webhook URL was called but the workflow is not active, or WEBHOOK_URL points to the wrong host so n8n cannot match the request to a registered webhook.
Fix: Confirm the workflow is saved AND toggled active (required for production URLs). Set WEBHOOK_URL (or N8N_HOST + N8N_PROTOCOL) to the externally reachable base URL. Behind a reverse proxy, set N8N_TRUST_PROXY=true. Deactivate and reactivate to force webhook re-registration.
Platform: n8n
Category: schema
Error: Request failed with status code 422
Error code: 422
Cause: The API rejected the request because the body or query params failed validation - commonly an expression resolving to the wrong type or an empty value.
Fix: Inspect the full error response body for the field-level message. Ensure expressions resolve to the expected type; wrap with String(), Number(), or JSON.parse() as needed. For GET requests, make sure no body is sent (older HTTP node versions attached one - upgrade). Use the 'Send Body' toggle to control inclusion.
Platform: n8n
Category: auth
Error: invalid_grant: Token has been expired or revoked
Cause: A Google OAuth2 refresh token is revoked, or the app is in 'Testing' status which limits test-user tokens to a 7-day lifespan.
Fix: Open the failing credential and click 'Reconnect' for a fresh token. To stop recurrence, set the Google OAuth consent screen to 'In production' (or 'Internal' for Workspace). For non-Google providers, ensure the Auth URI includes any required offline-access parameter.
Platform: n8n
Category: auth
Error: The access token is invalid or has expired
Cause: The OAuth2 HTTP node cannot auto-refresh because the API never issued a refresh token during the initial authorization.
Fix: Edit the credential and add the offline-access parameter to the Auth URI (for Google: access_type=offline&prompt=consent), then re-authorise to get a refresh token. If the API has no refresh tokens, store the token externally and inject it via an expression before each request.
Platform: n8n
Category: schema
Error: ERROR: Unknown top-level item key: pairedItems [item 0]
Cause: A node (often Google Sheets) emits an invalid 'pairedItems' key that the Code node's strict validator rejects (only json, binary, error, pairedItem, index are allowed).
Fix: Add a Code node before the failing node to delete the key: for (const item of $input.all()) { delete item.pairedItems; } return $input.all();. Permanently fix by upgrading to n8n v1.18.1+ which resolves the upstream Google Sheets bug.
Platform: n8n
Category: other
Error: No data found for item-index: "1"
Cause: A downstream node references a previous node with fewer items using legacy $node[] syntax, so index 1+ does not exist in the upstream output.
Fix: Replace $node["NodeName"].json["field"] with $item(0).$node["NodeName"].json["field"] to pin to a specific item, or use $item($itemIndex) to match each iteration. Better, use the modern $("NodeName").item.json.field syntax which handles pairedItem linking automatically.
Platform: n8n
Category: other
Error: this.getWorkflowStaticData is not a function
Affected versions: 1.86.0
Cause: The Code node does not expose getWorkflowStaticData on 'this'; it is only available as the global helper $getWorkflowStaticData.
Fix: Replace this.getWorkflowStaticData('global') with const staticData = $getWorkflowStaticData('global'); in your Code node. See the n8n Code node reference under 'Built-in methods and variables'.