Skip to main content
In this guide, you’ll learn how to create many offers at once, for example when onboarding a store’s catalog or running a CSV import. createOffersWorkflow accepts an array of offers, so a single run can list a store against many master variants at once. Each entry is independent and carries its own SKU, prices, inventory, and shipping profile.

Run the workflow with many offers

src/api/custom/bulk/route.ts
The batch is validated as a whole: if any entry references a missing variant, omits its inventory items, or reuses an existing (seller_id, sku) pair, the run fails and its steps are compensated, so no partial offers are left behind.

Update many offers

updateOffersWorkflow mirrors the same array shape for edits. Each entry is keyed by the offer id; supplying a prices array replaces the offer’s price ladder (rows with an id are updated in place, rows without one are added, and omitted rows are removed), while leaving prices out keeps the ladder untouched.
Both workflows emit one event per affected offer (offer.created / offer.updated). Subscribe to those events to run downstream side effects like re-indexing search. See the Event reference.