Announcing Branch Environments

Simple pricing.
Powerful functionality.

Hobby

$0/mo

Bring your project to life

  • UnlimitedEvents
  • 50kFunction steps/month
  • 1Concurrent Function
  • 1Seat
  • 1 dayHistory
  • Discord support
Most Popular

Team

From $20*/mo

From Startup to scale-up

  • UnlimitedEvents
  • 100k - 10mFunction steps/month
  • 100Concurrent Functions
  • 20Seats
  • 7 daysHistory
  • Email support

Enterprise

Flexible/mo

Powerful access for any scale

  • UnlimitedEvents
  • 10m+Function steps/month
  • CustomConcurrent Functions
  • 20+Seats
  • 90 DaysHistory
  • Email support

*Team plan starts at $20/month for 100,000 function steps (?).
Additional function steps are available to purchase for $10 per 100,000.

Frequently asked questions

What's a "function"?

A function is defined with the Inngest SDKusing createFunction or similar. A function can be triggered by an event or run on a schedule (cron).

Functions can contain multiple “steps” to reliably run parts of your function or add functionality like sleeping/pausing a function for a period of time. You can define a step using available tools in our SDKs like step.run, step.sleep,step.sleepUntil and step.waitForEvent. Read more in our documentation.

What's a "function step"?

Inngest functions can be broken down into separate parts, or “steps” which run independently. Steps are defined using our SDK’s step object.

For example, any code within step.run will be retried up to 3 times independently of the rest of your code ensuring your function is reliable. You can also add delays in the middle of your functions for minutes, hours or days using step.sleep or step.sleepUntil. You function can also wait for additional events to trigger additional logic with step.waitForEvent which enables you to build functions that pause while they wait for additional input. Read more about steps here.

How are "function steps" billed?

Since Inngest invokes and individually retries each function step, each time a step is called, it counts towards your monthly limit. If a function is retried 3 times, that counts for 3 function steps billed.

Scenario 1:"Function A" does not use any step tools, it is considered a "single step function." If it is called once and is completed successfully, that is 1 function step.

Scenario 2: "Function B" has 3 steps defined using both step.run andstep.sleep. If it is called once and is completed successfully, that is 3 function steps.

Scenario 3: "Function C" has 3 steps defined using both step.run. If it is called once and the first step succeeds, but the second step fails 3 times due to retries, that is 4 function steps. The last step is never called due to the failure, so it is not billed.

How are my functions run?

Your functions are hosted in your existing application on any platform. We’ll call your functions securely via HTTP request on-demand.

Each function step is called as a separate HTTP request enabling things like having a function sleep for minutes, hours or days.

What are concurrency limits?

As Inngest runs your function any time an event is received, you may have any number of events received within a short period of time (e.g. 10ms). Inngest can run all of these functions concurrently (in parallel). Our Hobby plan only allows one function to run at a time. Our paid plans offer substantial concurrency to enable you to parallelize workloads and keep your system efficient and performant.

Sleeps and other pauses do not count towards your concurrency limit as your function isn't running while waiting.

See more details at Usage Limits page.

Can I get a demo of the product?

Yes! We would be happy to demo Inngest for you and understand the needs of your team. Email us at hello@inngest.com to set up a call.

What languages do you support?

We currently have an SDK for JavaScript/TypeScript, but plan to expand to Go, Python and others in the future. Let us know if you're interested in an SDK that we don't currently have. up a call.

How long can my functions run for?

Inngest functions are invoked via http, so each function step can run as long as your platform or server supports, for example, Vercel’s Pro plan runs functions for up to 60 seconds which means that if your function needs to run longer than that, you can break it up into multiple steps (see: What is a function step?).

See more details at Usage Limits page.

Can multiple functions be triggered by the same event?

Yep! Any number of functions can be triggered by the same event enabling useful design patterns like fan-out.

Do you charge for events?

Nope. You can send any event to Inngest via and SDK or a webhook at any scale. We only charge for the code that you run: the “function steps.” We encourage teams to send any/all events to the Inngest platform which then can allow them to add new functions at any time.

Can I select a region for my data?

Not yet, but it’s in our roadmap. If you have a specific roadmap in mind or would like to be one of the first people to have access, shoot us a message.

Can I self host inngest?

If you're interested in self-hosting Inngest, reach out with your needs.