Background jobs without the boilerplate.
One line in your existing codebase to make any function reliable. Automatic retries, recovery, checkpointing, and step-level observability to fix failures fast.

Inngest completely transformed how we handle AI orchestration at Cohere. Its intuitive developer experience, built-in multi-tenant concurrency, and flow control allowed us to scale without the complexity of other tools or the need to build custom solutions. What would have taken us a month.
Wrap your code.Send an event.
That’s it.
01
Install the SDK
One package. Works with Next.js, Node.js,Express, FastAPI, Go, and more.
02
Add steps
One call to createFunction and you canstart adding atomic steps and retries.
03
Send an event
Call inngest.send() from anywhere — an APIroute, a webhook, a cron. The job fires instantly.
See it in action
// Define the background job — triggered by the "user/signup" event export const postSignupFlow = inngest.createFunction( { id: "post-signup-flow" }, { event: "user/signup" }, async ({ event, step }) => { // step.run() is atomic: auto-retried on failure, memoized on success await step.run("send-welcome-email", async () => { await sendWelcomeEmail({ email: event.data.email }); }); await step.run("sync-to-crm", async () => { await createHubspotContact({ id: event.data.userId, email: event.data.email, }); }); // If "sync-to-crm" fails and retries, "send-welcome-email" does NOT re-run. // Completed steps are memoized. No duplicate emails. Ever. } ); // Trigger from your API route, webhook handler, or anywhere in your codebase await inngest.send({ name: "user/signup", data: { userId: "abc123", email: "user@example.com" }, });
Everything production
apps require.
Reliability, observability, and flow control — all colocated within your code, not spread across separate services that drop context.
Exponential backoff
A queue was never
enough.
Inngest replaces the entire background job stack — the queue, the worker, the DLQ, and the observability layer — with a single SDK you drop into your existing codebase.
What teams have built with Inngest Background Jobs
FAQ
Inngest is an orchestration layer that replaces the need for separate queues. Instead of managing a broker, workers, and retry logic separately, you define steps in code and Inngest handles delivery, state, and retries between them.
Yes — Inngest covers the same surface as Sidekiq, BullMQ, Celery, and similar tools, while adding step-level checkpointing, native traces, and built-in concurrency/throttling. You point Inngest at your existing functions and delete the queue + worker plumbing.
Migration guideYes. Inngest invokes your functions via HTTP, so any platform that serves HTTP requests — Vercel, Netlify, AWS Lambda, Cloudflare Workers, traditional servers — can run Inngest functions without changes to your hosting setup.
Inngest tracks completed steps independently of your deployment. When your app comes back up, Inngest resumes the function from the last completed step — no work is lost or duplicated.
Inngest ships SDKs and adapters for Next.js, Node.js, Express, Fastify, Hono, Remix, FastAPI, Flask, Django, Go, and more. If your framework speaks HTTP, Inngest works with it.
Inngest is built on a distributed system that handles millions of events and function runs per day for production customers. Concurrency, throttling, and priority queuing are first-class controls — not afterthoughts — so you keep latency predictable at any volume.
Build better
apps today
Add Inngest to your project in minutes.
Free to start, no credit card required.
