Zapier breaking changes, updated weekly

Every verified Zapier trap in Footgun: changes and behaviors that break code or give wrong results, newest first. Each one has the error you see, the fix, and the date it was last checked. The list updates when the weekly check adds or retires a trap. For the full cause and sources, open the trap, or see all Zapier traps.

  1. fg-0370· added 2026-10-15· last checked 2026-10-15

    Custom 429 handling in a Zapier afterResponse never runs because core throws ThrottledError first

    Symptom

    The server returned 429 (Too Many Requests)

    Fix

    Let the built-in retry handle 429 and send a Retry-After from your API, or set throwForThrottlingEarly to false on the request to handle it yourself and throw ThrottledError with a delay.

  2. fg-0372· added 2026-10-15· last checked 2026-10-15

    Replaying a whole Zap run creates duplicate records and charges tasks again

    Symptom

    Duplicate rows or contacts after replaying an errored run

    Fix

    Replay failed steps rather than whole runs, and make create steps idempotent with a Find or Create search first.

  3. fg-0374· added 2026-10-15· last checked 2026-10-15

    Zap turns itself off after a run of errors from one broken step

    Symptom

    Zap found turned off with no user change

    Fix

    Add an error handler path or a Filter that halts on expected bad data instead of erroring, fix the step, turn the Zap on, then replay failed runs.

  4. fg-0379· added 2026-10-15· last checked 2026-10-15

    Zapier polling trigger misses new items because the API returns oldest first

    Symptom

    Zap only triggers for the first page of old items when turned on

    Fix

    Request reverse chronological order with a page size large enough to cover one poll interval, and keep each poll under 30 seconds.

  5. fg-0381· added 2026-10-15· last checked 2026-10-15

    Zapier 'Updated record' polling trigger never fires for edits to existing records

    Symptom

    New records trigger the Zap, edits to them never do

    Fix

    Make the primary key combine the id with the update timestamp, using primary in outputFields on platform-core 15.6.0 or later.

  6. fg-0375· added 2026-10-15· last checked 2026-10-15

    'zapier: command not found' in CI after upgrading zapier-platform-cli to 19

    Symptom

    zapier: command not found

    Fix

    Replace zapier with zapier-platform in scripts, CI jobs and package.json scripts.

  7. fg-0369· added 2026-10-15· last checked 2026-10-15

    Code by Zapier step times out on the Free plan though it ran fine in a paid trial

    Symptom

    Code step fails with a timeout error in Zap history

    Fix

    Keep Code steps short on Free, move HTTP calls to a Webhooks or app step, or use extended runtimes on paid plans.

  8. fg-0368· added 2026-10-15· last checked 2026-10-15

    Code by Zapier fails with 'Scripting payload too large' or the 250 item output limit

    Symptom

    Scripting payload too large

    Fix

    Return only the fields you need, split large arrays across steps, and await fetch inside try and catch.

  9. fg-0378· added 2026-10-15· last checked 2026-10-15

    Zapier OAuth connection fails because the token response nests access_token inside an object

    Symptom

    bundle.authData.access_token is undefined after connecting

    Fix

    Switch the token and refresh requests to code mode and return the tokens at the top level.

  10. fg-0380· added 2026-10-15· last checked 2026-10-15

    Zapier trigger or action times out at 30 seconds while the same call works in a local test

    Symptom

    Step times out in the Zap editor test

    Fix

    Fetch only the first page, filter on the server, and move long jobs to an async pattern with a callback.

  11. fg-0371· added 2026-10-15· last checked 2026-10-15

    Dates from a Zapier Formatter step are off by several hours

    Symptom

    Event times shifted by the UTC offset

    Fix

    Set From Format, From Timezone and To Timezone on every date transform, and set the account or Zap timezone.

  12. fg-0373· added 2026-10-15· last checked 2026-10-15

    Webhooks by Zapier returns 429 or delays processing during a burst of events

    Symptom

    HTTP 429 from hooks.zapier.com

    Fix

    Retry non-200 responses with exponential backoff, regenerate legacy hook URLs, and do not assume a 200 means the Zap already ran.

  13. fg-0376· added 2026-10-15· last checked 2026-10-15

    Zapier holds a batch of runs and nothing happens until someone replays them

    Symptom

    Zap runs show status Held in Zap history

    Fix

    Review and replay held runs from Zap history, raise the flood protection limit on paid plans, and add Delay After Queue for planned bulk loads.

  14. fg-0377· added 2026-10-15· last checked 2026-10-15

    Zapier integration never refreshes the OAuth token because the API returns 403 or 400 on expiry

    Symptom

    Zaps fail with the API's token expired message until the user reconnects

    Fix

    Detect the API's expiry response in afterResponse and throw z.errors.RefreshAuthError yourself.

  15. fg-0382· added 2026-10-15· last checked 2026-10-15

    Zapier z.request throws on every 4xx before your code can read the error body

    Symptom

    ResponseError thrown from z.request for a 4xx status

    Fix

    Set skipThrowForStatus on requests where you need the body, then throw a z.errors.Error with a readable message.

Have your agent check Zapier changes before it codes

$ /plugin marketplace add getfootgun/footgun
$ /plugin install footgun@footgun