Workflows, Workers - Create Workflow instance batches by count or list
- Announced
- Tags
- Workflows, Workers
- Severity
- info, set by
reef/rss-rule-v1 - Source
- https://developers.cloudflare.com/changelog/post/2026-10-08-create-batch-object-form/
<p><a href="https://developers.cloudflare.com/workflows/build/workers-api/#createbatch"><code>createBatch()</code></a> now accepts an options object that creates up to 100 Workflow instances in one call. The result lists the created instances and explains why any others were not created. To use this form in local development and get its types from <code>wrangler types</code>, use Wrangler 4.148.0 or later.</p> <p>To create instances that share the same options, pass <code>count</code>. Each instance receives a generated ID:</p> <div><div data-nb-tabs data-nb-sync-key="workersExamples" class><div class="relative flex border-b border-border" role="tablist" data-nb-tabs-list><span class="bg-primary pointer-events-none absolute -bottom-px h-0.5 rounded-t-sm transition-[left,width] duration-200 ease-out" data-nb-tabs-indicator aria-hidden="true"></span></div><div class="mt-3"><div role="tabpanel" data-nb-tabs-content data-nb-tab-label="JavaScript" class><figure class="nb-code-figure" data-nb-lang="js"><pre class="astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz" tabindex="0" data-language="js" data-nb-lang="js"><code><span class="line"><span class="nb-shiki-1itgoe">const</span><span class="nb-shiki-dzsirb"> result</span><span class="nb-shiki-1itgoe"> =</span><span class="nb-shiki-1itgoe"> await</span><span class="nb-shiki-140thh"> env.</span><span class="nb-shiki-dzsirb">MY_WORKFLOW</span><span class="nb-shiki-140thh">.</span><span class="nb-shiki-1t8gfj">createBatch</span><span class="nb-shiki-140thh">({</span></span> <span class="line"><span class="nb-shiki-140thh"> count: </span><span class="nb-shiki-dzsirb">10</span><span class="nb-shiki-140thh">,</span></span> <span class="line"><span class="nb-shiki-140thh"> params: { report: </span><span class="nb-shiki-mdbnqw">"daily"</span><span class="nb-shiki-140thh"> },</span></span> <span class="line"><span class="nb-shiki-140thh">});</span></span></code></pre></figure></div><div role="tabpanel" data-nb-tabs-content data-nb-tab-label="TypeScript" class><figure class="nb-code-figure" data-nb-lang="ts"><pre class="astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz" tabindex="0" data-language="ts" data-nb-lang="ts"><code><span class="line"><span class="nb-shiki-1itgoe">const</span><span class="nb-shiki-dzsirb"> result</span><span class="nb-shiki-1itgoe"> =</span><span class="nb-shiki-1itgoe"> await</span><span class="nb-shiki-140thh"> env.</span><span class="nb-shiki-dzsirb">MY_WORKFLOW</span><span class="nb-shiki-140thh">.</span><span class="nb-shiki-1t8gfj">createBatch</span><span class="nb-shiki-140thh">({</span></span> <span class="line"><span class="nb-shiki-140thh"> count: </span><span class="nb-shiki-dzsirb">10</span><span class="nb-shiki-140thh">,</span></span> <span class="line"><span class="nb-shiki-140thh"> params: { report: </span><span class="nb-shiki-mdbnqw">"daily"</span><span class="nb-shiki-140thh"> },</span></span> <span class="line"><span class="nb-shiki-140thh">});</span></span></code></pre></figure></div></div></div><script type="module" src="https://developers.cloudflare.com/home/runner/work/cloudflare-docs/cloudflare-docs/src/components/ui/tabs/Tabs.astro?astro&type=script&index=0&lang.ts"></script></div> <p>To give each instance its own ID or options, pass <code>instances</code>:</p> <div><div data-nb-tabs data-nb-sync-key="workersExamples" class><div class="relative flex border-b border-border" role="tablist" data-nb-tabs-list><span class="bg-primary pointer-events-none absolute -bottom-px h-0.5 rounded-t-sm transition-[left,width] duration-200 ease-out" data-nb-tabs-indicator aria-hidden="true"></span></div><div class="mt-3"><div role="tabpanel" data-nb-tabs-content data-nb-tab-label="JavaScript" class><figure class="nb-code-figure" data-nb-lang="js"><pre class="astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz" tabindex="0" data-language="js" data-nb-lang="js"><code><span class="line"><span class="nb-shiki-1itgoe">const</span><span class="nb-shiki-140thh"> { </span><span class="nb-shiki-dzsirb">created</span><span class="nb-shiki-140thh">, </span><span class="nb-shiki-dzsirb">errors</span><span class="nb-shiki-140thh"> } </span><span class="nb-shiki-1itgoe">=</span><span class="nb-shiki-1itgoe"> await</span><span class="nb-shiki-140thh"> env.</span><span class="nb-shiki-dzsirb">MY_WORKFLOW</span><span class="nb-shiki-140thh">.</span><span class="nb-shiki-1t8gfj">createBatch</span><span class="nb-shiki-140thh">({</span></span> <span class="line"><span class="nb-shiki-140thh"> instances: [</span></span> <span class="line"><span class="nb-shiki-140thh"> { id: </span><span class="nb-shiki-mdbnqw">"order-1"</span><span class="nb-shiki-140thh">, params: { orderId: </span><span class="nb-shiki-dzsirb">1</span><span class="nb-shiki-140thh"> } },</span></span> <span class="line"><span class="nb-shiki-140thh"> { id: </span><span class="nb-shiki-mdbnqw">"order-2"</span><span class="nb-shiki-140thh">, params: { orderId: </span><span class="nb-shiki-dzsirb">2</span><span class="nb-shiki-140thh"> } },</span></span> <span class="line"><span class="nb-shiki-140thh"> ],</span></span> <span class="line"><span class="nb-shiki-140thh">});</span></span> <span class="line"></span> <span class="line"><span class="nb-shiki-1itgoe">for</span><span class="nb-shiki-140thh"> (</span><span class="nb-shiki-1itgoe">const</span><span class="nb-shiki-dzsirb"> error</span><span class="nb-shiki-1itgoe"> of</span><span class="nb-shiki-140thh"> errors) {</span></span> <span class="line"><span class="nb-shiki-140thh"> console.</span><span class="nb-shiki-1t8gfj">log</span><span class="nb-shiki-140thh">(error.index, error.id, error.code, error.message);</span></span> <span class="line"><span class="nb-shiki-140thh">}</span></span></code></pre></figure></div><div role="tabpanel" data-nb-tabs-content data-nb-tab-label="TypeScript" class><figure class="nb-code-figure" data-nb-lang="ts"><pre class="astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz" tabindex="0" data-language="ts" data-nb-lang="ts"><code><span class="line"><span class="nb-shiki-1itgoe">const</span><span class="nb-shiki-140thh"> { </span><span class="nb-shiki-dzsirb">created</span><span class="nb-shiki-140thh">, </span><span class="nb-shiki-dzsirb">errors</span><span class="nb-shiki-140thh"> } </span><span class="nb-shiki-1itgoe">=</span><span class="nb-shiki-1itgoe"> await</span><span class="nb-shiki-140thh"> env.</span><span class="nb-shiki-dzsirb">MY_WORKFLOW</span><span class="nb-shiki-140thh">.</span><span class="nb-shiki-1t8gfj">createBatch</span><span class="nb-shiki-140thh">({</span></span> <span class="line"><span class="nb-shiki-140thh"> instances: [</span></span> <span class="line"><span class="nb-shiki-140thh"> { id: </span><span class="nb-shiki-mdbnqw">"order-1"</span><span class="nb-shiki-140thh">, params: { orderId: </span><span class="nb-shiki-dzsirb">1</span><span class="nb-shiki-140thh"> } },</span></span> <span class="line"><span class="nb-shiki-140thh"> { id: </span><span class="nb-shiki-mdbnqw">"order-2"</span><span class="nb-shiki-140thh">, params: { orderId: </span><span class="nb-shiki-dzsirb">2</span><span class="nb-shiki-140thh"> } },</span></span> <span class="line"><span class="nb-shiki-140thh"> ],</span></span> <span class="line"><span class="nb-shiki-140thh">});</span></span> <span class="line"></span> <span class="line"><span class="nb-shiki-1itgoe">for</span><span class="nb-shiki-140thh"> (</span><span class="nb-shiki-1itgoe">const</span><span class="nb-shiki-dzsirb"> error</span><span class="nb-shiki-1itgoe"> of</span><span class="nb-shiki-140thh"> errors) {</span></span> <span class="line"><span class="nb-shiki-140thh"> console.</span><span class="nb-shiki-1t8gfj">log</span><span class="nb-shiki-140thh">(error.index, error.id, error.code, error.message);</span></span> <span class="line"><span class="nb-shiki-140thh">}</span></span></code></pre></figure></div></div></div></div> <p><code>created</code> contains the created instances. <code>errors</code> contains each entry that was not created, identified by its position in the input. IDs that already exist and IDs repeated within the batch are reported as errors instead of being skipped silently.</p> <p>Passing an array to <code>createBatch()</code> is deprecated. Existing code that uses the array form continues to work.</p> <p>For more information, refer to <a href="https://developers.cloudflare.com/workflows/build/workers-api/#createbatch"><code>createBatch</code></a>.</p>
The text above is the source's. reef added the severity, the dates it could read from the text, and the endpoints and scopes named in code.