~/tools/inngest
tool

Inngest

Inngest is an open source durable execution engine for background jobs and workflows — a self-hostable alternative to AWS Step Functions that runs reliable, long-running functions as plain code, retrying failed steps and resuming exactly where they left off, without you running a separate queue.

What is Inngest?

Inngest is an open source durable execution engine that runs background jobs, scheduled tasks, and multi-step workflows as ordinary functions in your own code. It records every completed step and memoizes the result, so on a retry it skips finished work and resumes exactly where it left off after a crash or a failed API call. Unlike systems that need worker processes polling a cluster, Inngest invokes your existing app over HTTP when an event or schedule fires. The server and CLI are written in Go; the SDKs cover TypeScript/JavaScript, Python, Go, and Kotlin/Java.

What is Inngest best for?

Teams that want reliable background jobs and long-running workflows without standing up and babysitting their own queue. It fits well for serverless and container apps, AI agent pipelines that make non-deterministic LLM calls, order and payment flows, scheduled jobs, and event-driven fan-out — anywhere you need retries, flow control, and “run this later” without wiring up Redis, workers, and custom error handling yourself.

What can Inngest do?

  • Run durable functions made of steps that retry independently and resume from the last completed step
  • Trigger work from events, cron schedules, or webhooks, and fan a single event out to many functions
  • Wait for an event to pause a function for minutes or months, then continue automatically
  • Apply built-in flow control: concurrency limits, throttling, rate limiting, debouncing, batching, and prioritization
  • Enforce idempotency to prevent duplicate runs, and replay past runs against new code
  • Develop locally against a dev server (at localhost:8288) with a UI that mirrors production
  • Write functions in TypeScript/JavaScript, Python, Go, or Kotlin/Java SDKs

Where does Inngest fall short?

  • The core license is SSPL, not a standard OSI-approved license. The server and CLI are released under the Server Side Public License, with a delayed-open-source clause that re-licenses each release as Apache 2.0 only after a set period. The SSPL restricts offering Inngest itself as a managed service, so it is “source available” more than freely permissive — a real difference from an MIT-licensed engine like Temporal.
  • The HTTP execution model assumes your app is reachable. Inngest calls your functions over HTTP rather than running workers that poll it, so your deployment must be network-accessible to the executor. That is elegant for serverless and web apps but an awkward fit for purely internal batch code with no HTTP surface.
  • Self-hosting trails the cloud in maturity. Self-hosting is officially supported, but some advanced observability and reliability features are added on top by the managed cloud, and a production self-host means running Postgres and Redis and sizing them for fast-growing event history.

Is Inngest free?

Yes — the core engine is open source and free to self-host; you only pay for the Postgres, Redis, and compute it runs on. Inngest also sells a managed cloud with a free Hobby tier (50k executions and 500k events ingested per month, no card required), a Pro plan starting at $99/month (1M executions included, with pay-as-you-go beyond), and custom Enterprise pricing. The cloud adds managed infrastructure, observability, and reliability on top of the engine you can otherwise run yourself.

What does Inngest replace?

Inngest is a self-hosted alternative to AWS Step Functions, Azure Durable Functions, and Google Cloud Workflows — the cloud providers’ serverless orchestrators — but your logic stays as portable code you can run locally and on any platform instead of being tied to one vendor’s runtime. It also replaces the homegrown stack of a message queue plus workers, retry logic, and cron that teams assemble by hand. For code-first durable execution it overlaps with Temporal; Inngest leans event-driven and HTTP-invoked, while Temporal uses deterministic replay and polling workers.

FAQ

Is Inngest open source? Partly. The server and CLI are source-available under the SSPL, with each release converting to Apache 2.0 after a delay; all SDKs are Apache 2.0. You can self-host the whole engine at no license cost, but the SSPL restricts reselling it as a managed service.

Can I self-host Inngest for free? Yes. The engine runs as a single Go binary — SQLite works for local use, and a production self-host uses your own Postgres and Redis. You pay only for that infrastructure, not for the software.

Is Inngest a good AWS Step Functions alternative? For teams that want code-first workflows, local development, and no cloud lock-in, yes. If your workload lives entirely in AWS and you prefer a visual state-machine builder that Amazon fully manages, Step Functions may fit better.

What do I need to run Inngest? The Inngest binary plus a place for your functions to be reached over HTTP. Local development needs only the bundled dev server; production self-hosting adds Postgres for persistence and Redis for queue and state management.