FREE STICKER WITH ORDERS OVER $40BUILT ON INNGEST · WATCH YOUR ORDER FLOW IN REAL-TIMELIVE: PLUGIN ALPHA NOW IN DISCORDSHIPS WORLDWIDE · LA-PRINTEDSTEP.RUN("SHIP_SWAG") → COMPLETEEVERY ORDER IS A DURABLE WORKFLOWFREE STICKER WITH ORDERS OVER $40BUILT ON INNGEST · WATCH YOUR ORDER FLOW IN REAL-TIMELIVE: PLUGIN ALPHA NOW IN DISCORDSHIPS WORLDWIDE · LA-PRINTEDSTEP.RUN("SHIP_SWAG") → COMPLETEEVERY ORDER IS A DURABLE WORKFLOW
SWAG STORE
V1.0 — 2026
REALTIME ON
← STORE06 / ORDER STATUS · ord_demo01CHANNEL · order:ord_demo01
IN PROGRESS · LIVE

Shipping…

You're watching the live execution of fulfill-order.ts, an Inngest durable function. Each step is independently retried, persisted, and observable. This page subscribes to Realtime channel order:ord_demo01.

ORDER IDord_demo01
ITEMSAWAITING INVENTORY STEP
TOTAL$***.** ***
ETA3—5 BUSINESS DAYS · USPS
6.1 DURABLE STEPS · 0 OF 3FUNCTION ID · fulfill-order · attempt 1
STEP 01 / 03PENDING
capture-payment
stripe.payment_intents.retrieve
Awaiting upstream step
STEP 02 / 03PENDING
reserve-inventory
inventory.decrement(sku, qty)
Awaiting upstream step
STEP 03 / 03PENDING
send-confirmation
email.send(template: "order_confirmation")
Awaiting upstream step
6.2 REALTIME LOG · @inngest/realtimeSUBSCRIBED
00:00.000INFOawaiting store/order.placed event
···awaiting next event
6.3 SOURCE · src/inngest/functions/fulfill-order.ts− COLLAPSE
import { inngest } from "@/inngest/client" export const fulfillOrder = inngest.createFunction( { id: "fulfill-order" }, { event: "store/order.placed" }, async ({ event, step, publish }) => { // 1 — capture the Stripe payment const payment = await step.run("capture-payment", ...);  // 2 — reserve inventory await step.run("reserve-inventory", ...);  // 3 — send confirmation email await step.run("send-confirmation", ...);  });