New Guide: Running Background Jobs with Prisma ORM + TypeScript
Join our Discord
Sign up for free

What is Inngest?

Inngest is an event-driven queue. Instead of configuring queues directly with all the associated work, Inngest decouples your queue from your systems by using events.


Fundamentally, there are two critical concepts to Inngest:

  • Events, which represent something happening in your system (or a 3rd party)
  • Functions, which are triggered by events or on a schedule. They declaratively state how they're triggered, and are fully versioned.

Whenever something happens, like a user signs up, you'll send an event to Inngest. You can then build functions which are automatically triggered by these events, without writing a single line of code relating to a queue — no workers, no config, no infra.


Decoupling your async work via events has a few benefits. At a high level, it's faster and easier to work with, and has less ops overhead. You can:

  • Deploy your functions independently, without updating core services
  • Add canary or blue-green deploys to any function, out of the box
  • Immediately roll back to a previous function version
  • Re-run past events through functions, even if the function is new
  • Historically test functions with previously received events

It's also easier to get started and learn. Events are sent via a plain HTTP call, and engineers don't need to concern themselves with queue-specific implementation details. You only need to know how your function is triggered and the data within that event; from there, you're only writing your business logic.

There's more that Inngest provides, such as user identification within events for customer-specific audit trails and debugging, or event schemas out of the box.

For now, let's dive into the architecture and then see how to get started within a few minutes.