Serverless queues for TypeScript
Use Inngest’s type safe SDK to enqueue jobs using events. No polling - Inngest calls your serverless functions.

Nothing to configure
Inngest is serverless, and there’s no queue to configure. Just start sending events, and your functions declare which events trigger them.

We call your function
Inngest calls your function as events are received. There is no need to set up a worker that polls a queue.

Automatic retries
Failures happen. Inngest retries your functions automatically. The dead letter queue is a thing of the past.
Queue work in just a few lines of code
1 Define your event payload type
2 Send events with type
3 Define your functions with that event trigger
Functions trigger as events are received. Inngest calls all matching functions via HTTP.
1// Define your event payload with our standard name & data fields
2type Events = {
3 "user.signup": {
4 data: {
5 userId: string;
6 };
7 };
8};
9const inngest = new Inngest({
10 id: "my-app",
11 schemas: new EventSchemas().fromRecord<Events>(),
12});
13
14// Send events to Inngest
15await inngest.send({
16 name: "user.signup",
17 data: { userId: "12345" },
18});
19
20// Define your function to handle that event
21inngest.createFunction(
22 { id: "post-signup-email" },
23 { event: "user.signup" },
24 async ({ event }) => {
25 // Handle your event
26 }
27);
“The DX and visibility with Inngest is really incredible. We are able to develop functions locally easier and faster that with our previous queue. Also, Inngest's tools give us the visibility to debug issues much quicker than before.”
Everything you need to build
Amazing local DX
Our open source dev server runs on your machine giving you a local sandbox environment with a UI for easy debugging.
Full observability and logs
Check the status of a given job with ease. View your complete event history and function logs anytime.
Fan-out Jobs
Events can trigger multiple functions, meaning that you can separate logic into different jobs that consume the same event.
Scheduled work for later
Create jobs that sleep or pause for hours, days or weeks to create durable workflows faster than ever before.
TypeScript support
Define your event payload as TypeScript types to have end-to-end type safety for all your jobs.
Learn more
Dive into our resources and learn how Inngest is the best solution for serverless queues for TypeScript.
Quick Start Tutorial
A step-by-step guide to learn how to build with Inngest in less than 5 minutes.
Read tutorialUsing TypeScript with Inngest
Learn how our SDK gives you typesafety from sending events to running functions.
Read docsRunning Background Jobs
How to background jobs without the queues and workers.
Read guide