← ClaudeAtlas

inngest-stepslisted

Use Inngest step methods to build durable workflows. Covers step.run, step.sleep, step.waitForEvent, step.waitForSignal, step.sendEvent, step.invoke, step.ai, and patterns for loops and parallel execution.
inngest/inngest-skills · ★ 22 · AI & Automation · score 64
Install: claude install-skill inngest/inngest-skills
# Inngest Steps Build robust, durable workflows with Inngest's step methods. Each step is a separate HTTP request that can be independently retried and monitored. > **These skills are focused on TypeScript.** For Python or Go, refer to the [Inngest documentation](https://www.inngest.com/llms.txt) for language-specific guidance. Core concepts apply across all languages. ## Core Concept **🔄 Critical: Each step re-runs your function from the beginning.** Put ALL non-deterministic code (API calls, DB queries, randomness) inside steps, never outside. **📊 Step Limits:** Every function has a maximum of 1,000 steps and 4MB total step data. ```typescript // ❌ WRONG - will run 4 times export default inngest.createFunction( { id: "bad-example", triggers: [{ event: "test" }] }, async ({ step }) => { console.log("This logs 4 times!"); // Outside step = bad await step.run("a", () => console.log("a")); await step.run("b", () => console.log("b")); await step.run("c", () => console.log("c")); } ); // ✅ CORRECT - logs once each export default inngest.createFunction( { id: "good-example", triggers: [{ event: "test" }] }, async ({ step }) => { await step.run("log-hello", () => console.log("hello")); await step.run("a", () => console.log("a")); await step.run("b", () => console.log("b")); await step.run("c", () => console.log("c")); } ); ``` ## step.run() Execute retriable code as a step. **Each step ID can be reused** - Inngest automatically