Announcing our new Vercel integration
Inngest SDK

Write functions, send events.

Create and deploy background jobs or scheduled functions right in your existing JavaScript or TypeScript codebase.

Works with:

Next.js's logoVercel's logoNetlify's logoExpress.js's logoCloudflare Pages's logoRedwoodJS's logo
Try the new SDK →
myGreatFunction.ts
1import { createFunction } from "inngest"
2import { DemoEventTrigger } from "./types"
3
4export default createFunction<DemoEventTrigger>(
5  "My Great Function",
6  "demo/event.trigger",
7  async ({ event }) => {
8    return { message: "success" }
9  }
10)
api/someEndpoint.ts
1import { Inngest } from "inngest"
2import { Events } from "../../__generated__/inngest"
3const inngest = new Inngest<Events>({ name: "My App" })
4inngest.send({
5  name: "demo/event.name",
6  data: { something: req.body.something }
7})

Simple, yet powerful

inngest/myGreatFunction.ts
1import { createFunction } from "inngest"
2import { DemoEventTrigger } from "./types"
3
4export default createFunction<DemoEventTrigger>(
5  "My Great Function",
6  "demo/event.trigger",
7  async ({ event }) => {
8    return { message: "success" }
9  }
10)

Run your code in response to events

Easily define functions that run in response to events. Background jobs, scheduled tasks, webhooks are all made easy with Inngest's SDK.

Learn more →

api/someEndpoint.ts
1import { Inngest } from "inngest"
2import { Events } from "../../__generated__/inngest"
3
4const inngest = new Inngest<Events>({ name: "My App" })
5
6inngest.send({
7  name: "demo/event.name",
8  data: { something: req.body.something }
9})

Trigger jobs with events from anywhere

Send events with our SDK to trigger background jobs and move longer running code out of the critical path of an API request.

Read the docs →

inngest/scheduledTask.ts
1import { createScheduledFunction } from "inngest"
2
3const scheduledTask = () => {
4  return { message: "success" }
5}
6
7export default createScheduledFunction(
8  "A scheduled function",
9  "0 9 * * MON", // any cron expression
10  scheduledTask
11)

Schedule jobs easily

Run your code on a schedule using basic cron expressions. Cron jobs made simple with observability & logs.

Learn how →

api/inngest.ts
1import { Inngest } from "inngest"
2import { serve } from "inngest/next"
3import { Events } from "../../__generated__/inngest"
4
5import { myGreatFunction } from "../../myGreatFunction"
6import { scheduledTask } from "../../scheduledTask"
7
8const inngest = new Inngest<Events>({ name: "My App" })
9
10export default serve(inngest, [
11  myGreatFunction,
12  scheduledTask
13])

Deploy to your existing setup

Inngest can remotely run your background tasks via secure HTTP handler. You keep your existing deployment workflow and we'll call your code where it is.

Get more info →

Deep TypeScript support

Painless type generation

One command generates TS types for your entire ecosystem, based on your actual production data.

🛡️Automatic typesafety

Keep in sync with your production data; strict TS types guard you every step of the way.

🧙Smart autocomplete

Leverage TypeScript inference and easily discover events and their data using autocomplete.
A screencast of the Inngest SDK's TypeScript features
Learn more →

Inngest SDK Roadmap

What we've built and what's up next:

      Create event-driven and scheduled functions
      Send events
      TypeScript support, including generics
      Next.js & Express.js support
      TypeScript: Event Type generation and sync (docs)
      Cloudflare Pages support (docs)
      Inngest local dev server integration
      Step Functions
      Step delays, conditional expressions, & event-coordination
      Inngest Cloud deploy

Future: Additional platform support (AWS Lambda, Supabase, Deno), additional framework support (Remix, RedwoodJS), testing APIs

Try the Inngest SDK

You can try the SDK today! Dive into our docs to get started

Join our Discord community to share feedback, get updates and have a direct line to shaping the future of the SDK!

Read the docs Join our community on Discord