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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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