Inngest lets you build reliable event-driven functions without managing queues or infrastructure. Send events, Inngest runs your functions.
What Is Inngest?
Inngest is a durable execution engine. You define functions that react to events, and Inngest handles queuing, retries, concurrency, and rate limiting.
Free tier:
- 25,000 event runs/month
- Unlimited functions
- Dashboard and logs
Quick Start
npm install inngest
npx inngest-cli@latest dev
Define Functions
import { Inngest } from "inngest";
const inngest = new Inngest({ id: "my-app" });
// Function triggered by event
export const sendWelcomeEmail = inngest.createFunction(
{ id: "send-welcome-email" },
{ event: "user/created" },
async ({ event, step }) => {
// Step 1: Send email (auto-retried on failure)
await step.run("send-email", async () => {
await email.send({ to: event.data.email, template: "welcome" });
});
// Step 2: Wait 3 days
await step.sleep("wait-3-days", "3d");
// Step 3: Send follow-up
await step.run("send-followup", async () => {
await email.send({ to: event.data.email, template: "followup" });
});
}
);
Send Events
// From your API route
await inngest.send({ name: "user/created", data: { email: "user@example.com", name: "Alice" } });
// Or via REST
curl -X POST https://inn.gs/e/YOUR_KEY \
-d '{"name":"user/created","data":{"email":"user@example.com"}}'
Use Cases
- User onboarding — multi-step email sequences
- Webhook processing — reliable webhook handling
- Background jobs — async task processing
- Scheduled tasks — cron-like scheduling
- AI pipelines — chain LLM calls with retries
Need web data at scale? Check out my scraping tools on Apify or email spinov001@gmail.com for custom solutions.
Top comments (0)