# Inngest

> Durable steps for code that runs on your own hosting. The same model as Lambda durable functions, with better flow control and a better dashboard.

- Verdict: Skip
- Vendor: Inngest
- Layer: [APIs, queues and events](https://cloudlesslabs.com/stack/layers/api-events/index.md). Job: Durable workflows, any host
- Last reviewed: 30 October 2026, by Nicolas Dao (Cloudless Labs, Sydney)
- Web page: https://cloudlesslabs.com/stack/inngest/. The whole stack in one file: https://cloudlesslabs.com/stack/brief.md

Inngest is the conductor, not the orchestra: your functions run on your own hosting, and Inngest stores the events and step results, then calls your endpoint for each step. Each step's result is saved, and a failure retries only that step, the same replay model as [Lambda durable functions](https://cloudlesslabs.com/stack/aws-lambda-durable-functions/index.md).

Two things it does better than durable functions, and I say so: flow control per tenant (concurrency per key, throttling, debounce, batching, priority) and a real dashboard with bulk replay. If your app isn't on AWS, it's a strong pick. For my clients it's a skip: durable functions do the same job inside their AWS account, with IAM, the VPC, Pulumi and their data in Sydney, for less. It's open source and can be self-hosted.

## Use it when

- The app isn't on AWS (Next.js on Vercel, a Worker, a plain server) and needs durable multi-step jobs.
- Per-tenant fairness matters: concurrency per key, throttling, rate limits, debounce, batching and priority are built in, so one big customer can't take every slot.
- You want a dashboard with traces and bulk replay of failed runs, without building it.

## Don't use it when

- An AWS client: event data and step results are stored in Inngest's cloud, in regions it doesn't publish.
- A single-step job: a queue and one function are cheaper and simpler.

## Pricing

Free: 50,000 executions a month. Pro from $99 a month for 1M executions, then tiered from $0.000050 down to $0.000015 each. Every run counts one execution, plus one per step. Trace history 24 hours (Free) to 90 days (Enterprise).

## Gotchas, with fixes

- **Gotcha:** Replay runs the function again from the top on every step, like durable functions: code outside steps runs again, and renaming a step breaks runs in flight.
  **Fix:** Keep everything non-deterministic inside steps, and add new steps instead of renaming old ones.
- **Gotcha:** Inngest calls your code over HTTP, so your endpoint must be reachable from its cloud.
  **Fix:** Protect the endpoint with the SDK's signing key, or use its always-connected workers instead of a public endpoint.

## Provisioning

No provider · No Terraform provider

No Pulumi or Terraform provider. Functions are served from your own app through its SDK.

## Use instead

Lambda durable functions, which do the same inside the client's AWS account, with IAM, the VPC and Pulumi.

## Alternatives

- [Lambda durable functions](https://cloudlesslabs.com/stack/aws-lambda-durable-functions/index.md): The same model inside AWS.
- [Amazon SQS](https://cloudlesslabs.com/stack/aws-sqs/index.md): Simple one-step jobs.

## Decision guides

- [Longer than 15 minutes: Fargate, durable functions or Managed Instances?](https://cloudlesslabs.com/stack/guides/long-jobs/index.md): My job runs past Lambda's 15 minutes, maybe for hours, and I don't know when it ends. Where does it run, and how does it stop billing once done?

## In The Stack Weekly

- [Week 45: Lambda durable functions telemetry exporter, next to Temporal on Lambda](https://cloudlesslabs.com/weekly/2026-w45/index.md), worth a pilot

## Sources

- [Inngest pricing](https://www.inngest.com/pricing)
- [Inngest: flow control](https://www.inngest.com/docs/guides/flow-control)

## Related

- [APIs, queues and events](https://cloudlesslabs.com/stack/layers/api-events/index.md): every tool in this layer, with its verdict
- [The whole stack in one file](https://cloudlesslabs.com/stack/brief.md): every use case and tool, for questions that span many
- [Map of every Markdown file on cloudlesslabs.com, with what each one answers](https://ask.cloudlesslabs.com)
