Inngest — Durable AI Workflow Orchestration
Run reliable AI workflows with automatic retries and state persistence. Replace queues and scheduling with durable step functions. TypeScript, Python, Go SDKs. 5,200+ stars.
What it is
Inngest is a durable workflow orchestration platform for building reliable AI pipelines and event-driven applications. It provides step functions that persist state between steps, automatic retries on failure, concurrency control, and scheduling. Your code runs as regular functions; Inngest handles the durability and orchestration layer.
Inngest targets developers building AI pipelines, background jobs, and event-driven workflows who need reliability without managing queue infrastructure. The SDKs support TypeScript, Python, and Go.
How it saves time or tokens
Inngest replaces the combination of message queues, cron schedulers, and retry logic that you would otherwise build yourself. Each step in a workflow is automatically retried on failure and its result is persisted. If a multi-step AI pipeline fails at step 3, it resumes from step 3 rather than starting over. This saves both compute time and LLM tokens for AI workloads.
How to use
- Start the Inngest dev server:
npx inngest-cli@latest devto get a local dashboard athttp://localhost:8288. - Define durable functions using the Inngest SDK with step.run() for each persisted step.
- Trigger functions via events from your application code.
Example
import { inngest } from './client';
export const processDocument = inngest.createFunction(
{ id: 'ai-pipeline' },
{ event: 'app/document.uploaded' },
async ({ event, step }) => {
// Step 1: Extract text (retried on failure)
const text = await step.run('extract', async () => {
return await extractText(event.data.url);
});
// Step 2: Summarize with LLM (state persisted)
const summary = await step.run('summarize', async () => {
return await llm.summarize(text);
});
// Step 3: Store result
await step.run('store', async () => {
await db.insert({ id: event.data.id, summary });
});
}
);
Related on TokRepo
- Automation Tools — Workflow automation and orchestration
- Coding AI Tools — Developer tools for AI applications
Common pitfalls
- Each step.run() call must be idempotent because Inngest may retry it. Side effects (sending emails, API calls) should use idempotency keys.
- The free tier has limits on function executions per month. Check pricing before relying on Inngest for high-volume workloads.
- Step functions serialize state between steps. Large objects (images, PDFs) should be stored externally and referenced by URL rather than passed between steps.
Frequently Asked Questions
Inngest provides durable step functions, not just message passing. Each step persists its result, retries on failure, and the workflow resumes from the last successful step. Queues require you to build this durability logic yourself.
Yes. The Inngest dev server (npx inngest-cli@latest dev) runs locally with a dashboard for testing and debugging. It mirrors the cloud behavior without needing an account.
Yes. You can trigger functions on cron schedules using the cron event trigger. This replaces traditional cron jobs with durable, retryable execution.
Each step has configurable retry policies with exponential backoff. If a step fails after all retries, the function is marked as failed with the error details. You can configure dead letter queues for failed events.
The Inngest server and SDKs are open source. You can self-host the server or use the managed Inngest Cloud service. The SDKs are available for TypeScript, Python, and Go.
Citations (3)
- Inngest GitHub— Inngest provides durable step functions with automatic retries
- Inngest Documentation— Durable workflow orchestration for AI applications
- Inngest Official Site— Event-driven architecture and durable execution patterns
Related on TokRepo
Source & Thanks
Discussion
Related Assets
NAPI-RS — Build Node.js Native Addons in Rust
Write high-performance Node.js native modules in Rust with automatic TypeScript type generation and cross-platform prebuilt binaries.
Mamba — Fast Cross-Platform Package Manager
A drop-in conda replacement written in C++ that resolves environments in seconds instead of minutes.
Plasmo — The Browser Extension Framework
Build, test, and publish browser extensions for Chrome, Firefox, and Edge using React or Vue with hot-reload and automatic manifest generation.