Zapier Next Gen nested loops multiply paid Sume submits

Next Gen Zaps allow nested loops. Two nested loops of 20 and 5 items are 100 paid Sume jobs: how to count, pace and pause before the first submit.

5 min readSume
All posts

A nested loop multiplies your paid calls: a loop of 20 products around a loop of 5 variants is 100 Sume submits, not 25. Before you build one, compute the product, check it against your Sume queue capacity, and put a pause or a cap in front of the inner loop.

Zapier's Product Updates page (read 2026-10-02) says Next Gen Zaps launched on September 23, 2026 at ZapConnect, with the 500-item loop limit removed, nested loops, mid-run pauses, and "enhanced error handling that prevents cascade failures." It lists early access on Pro, Team and Enterprise plans. I could not read a limits page for nested depth, so this post does not claim any.

How many Sume jobs can my workspace hold at once?

Accepted capacity is processing concurrency plus the queue: Free 6, Pro 24, Startup 48, Scale 120, and Enterprise 120 by default (Generation admission). The dashboard value generation_limits.concurrency_limit is the source of truth. Past capacity, a paid submit fails with 429 queue_full.

Accepted paid jobs by plan, read 2026-10-02 from Generation admission
PlanProcessingQueue (default)Accepted
Free156
Pro42024
Startup84048
Scale20100120
Enterprise20100120

What does 100 submits look like on a Pro workspace?

A nested loop that fires 100 async submits at once on Pro hits 24 accepted jobs, and the 25th gets 429 queue_full. Sume says to retry with the same idempotency key after jobs finish, so a Zap error path must not mint a new key. A nested loop also hits Zapier steps and Sume's rate_limited window faster than a flat loop.

Size the in-flight budget with max(0, concurrency_limit - active_generation_jobs - queued_generation_jobs), capped by queue_capacity_remaining, and refresh from the latest generation_limits before each wave.

Where do I put the pause?

Zapier's mid-run pause is the right place for the one decision that matters: approve the count and the estimated spend before the loops start. A person sees "100 videos, estimated total" once instead of 100 prompts. See Zapier Next Gen Zaps can pause for a reply before a paid Sume job.

For the spend number, GET /v1/balance shows what the workspace can reserve, and a submit that cannot reserve the estimate fails with 402 insufficient_credits before provider work starts.

How do I test a nested loop cheaply?

Run the Zap with two outer items and two inner items first, and count the submits on the Sume side. Four items should yield four jobs. If you see more, an inner step is firing per outer item instead of per inner item, which is the classic nested-loop bug and the expensive one.

Use a short deterministic key such as batch-17-p03-v2 so a rerun of the same test returns the same jobs. Sume answers a key reused with a different payload with 409 idempotency_conflict, which doubles as a check that your key and your item are tied together.

Then raise the counts in steps and watch generation_limits in the responses: queue_capacity_remaining should fall as you add work and recover as jobs finish. When it reaches zero, your Zap should wait rather than submit into a 429 queue_full.

Is there a way to send the whole list in one call?

For saved Formats, yes: POST /v1/formats/{handle}/{slug}/bulk-runs takes up to 100 items with a concurrency window of 1 to 16, and one Zap step polls GET /v1/format-run-queues/{queue_id} (Bulk runs). That replaces both loops with one submit. It does not apply to direct model routes, and Sume has no public cancel-queue endpoint.

Whichever shape you pick, use one Idempotency-Key per item and keep status polling as a backup to any webhook; job webhooks cover terminal events only. Before you ship, read the live contract for every route you call at https://api.sume.com/reference/json, which Sume's docs name as the schema source of truth, and re-read the linked docs pages: limits, scopes and error codes change faster than blog posts do. Treat any number in this post as a snapshot dated 2026-10-02, and prefer the effective fields your own responses return, such as generation_limits, over a static table.

Sources

Related posts

More in Integrations

All Integrations posts

Written by Sume