Zapier Catch Hook 404 when the Zap is off: Sume webhook retries
A turned-off Zap now returns 404 to Catch Hook. For a Sume job that is a failed delivery attempt: it retries up to 10 times, then redeliver or poll recovers.

If a Sume job finishes while the receiving Zap is off, Zapier's Catch Hook answers 404, and Sume counts that as a failed attempt. It retries up to 10 times with a fixed delay (30 seconds by default). Turn the Zap back on within that window, or call redeliver afterwards, and the terminal event arrives.
The 404 behavior is from Zapier's help article, updated May 29, 2026, for static Catch Hook and Catch Raw Hook URLs. Sume's rules are from its webhooks docs. Both read 2026-10-01.
What changed on the Zapier side?
Previously these triggers returned 200 whether or not a Zap was behind the URL. Now, per the article, "If your Zap is off or deleted, Zapier will return a 404 response for incoming webhooks". It also notes a short delay after turning a Zap off when 200 may still come back, and that reactivating returns it to 200.
How does Sume treat that 404?
Sume's docs say network errors and non-2xx responses are retried until attempts are exhausted. A 404 is non-2xx, so it is a failed attempt, not a lost job: the job still reaches its real terminal state.
| Situation | What Sume does |
|---|---|
| Zap off, 404 returned | Attempt fails; next one after the fixed delay |
| Zap back on before attempt 10 | A later attempt gets 200 and delivery completes |
| All 10 attempts refused | Delivery fails; job state is unaffected |
| Afterwards | POST /v1/jobs/{job_id}/webhook/redeliver |
| Always | Keep status_url polling available |
How do I recover after the retries run out?
Redeliver re-POSTs the real terminal event with a fresh timestamp and signature, and the docs say it still works after automatic attempts are exhausted without consuming one of the automatic 10. The target URL stays the same, so the Zap must be on first. Dedupe on job_id in case an earlier attempt did land. More in debugging failed deliveries.
Sources
Related posts
- Make webhook "Queue is full" 400: what Sume does and how to recover
- Can an AI agent debug a failed webhook on Sume over MCP?
- AI music API webhook: get a callback when the track is ready
- Sume Format run lifecycle: statuses, webhooks, and polling
- Video generation API timeouts: Sume's wait caps, SDK defaults, expiry
More in Integrations
- Zed 1.22 subagent compaction: keep Sume job ids out of the summary
Zed 1.22.0 compacts subagent threads automatically and lets spawn_agent pick a model. Hand Sume job ids over explicitly so a summary cannot lose them.
- Airtable API 5 requests per second per base: writing back Sume results
Airtable allows 5 requests per second per base and a 30-second wait after a 429. How to write Sume job results back without tripping it.
- Airtable attachment URLs expire in hours: feeding Sume an image
Airtable attachment download URLs expire after at least 2 hours, and Sume accepts only fetchable public HTTPS media URLs. Copy the image to a stable URL first.
- Airtable upsert with fieldsToMergeOn: one row per Sume job id
Airtable's performUpsert merges on 1-3 fields. Merge on a Sume job_id field so webhook retries update one row instead of creating duplicates.
Written by Sume