Deferred Functions: fire-and-forget background work with typed payloads
Deferred Functions are a new way to launch independent background work from inside an Inngest function. Call defer("some-id", { function, data }) and the parent run keeps executing — the deferred run is fully independent, with its own retries, concurrency, step state, and typed payload.
Key features:
- Fire-and-forget —
defer(...)is synchronous and returnsvoid. The parent doesn't block and never sees a result. - Typed payloads — Define a Standard Schema on the deferred function and
datais validated on both the caller and receiver side, then typed in the handler. - Fully independent runs — Each call triggers its own run with its own retries, concurrency, and step state. Multiple parents can target the same deferred function.
- Works inside steps — Call
defer(...)directly in a handler or from insidestep.run().
Available now in beta via createDefer from inngest/experimental in the TypeScript SDK. See the Deferred Functions reference for the full API.
Fetched June 8, 2026


