inngest-events

Use when designing event-driven workflows, decoupling services, implementing fan-out patterns (one trigger, many downstream handlers), implementing idempotent event handling with IDs (24-hour dedupe window), or handling at-least-once delivery from external sources like Stripe webhooks. Covers Innges

By inngest · 3,468 installs

npx skills add inngest/inngest-skills --skill inngest-events

Source repository · Upstream listing

Inngest Events Master Inngest event design and delivery patterns. Events are the foundation of Inngest learn to design robust event schemas, implement idempotency, leverage fan out patterns, and handle system events effectively. 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. Event Payload Format Every Inngest event is a JSON object with required and optional properties: Required Properties Complete Schema Basic Event Example Event Naming Conventions Use the Object Action pattern: domain/noun.verb Recommended Patterns Naming Guidelines Past tense: Events describe what happened ( created , updated , failed ) Dot notation: Use dots for hierarchy ( billing/invoice.paid ) Prefixes: Group related events ( api/user.created , webhook/stripe.received ) Consistency: Establish patterns and stick to them Event IDs and Idempotency When to use IDs: Prevent duplicate processing when events might be sent multiple times. Basic Deduplication ID Best Practices Deduplication window: 24 hours from first event reception See inngest durable functions for idempotency configuration. The ts Parameter for Delayed Delivery When to use: Schedule events for future processing or maintain event ordering. Future Scheduling Maintaining Event Order Fan Out Patterns Use case: One event triggers multiple independent functions for reliability and parallel processing. Basic Fan Out Implementation Fan Out Benefits Independence: Functions run separately; one failure doesn't affect others Parallel execution: All functions run simultaneously Selective replay: Re run only failed functions Cross service: Trigger functions in different codebases/languages Advanced Fan Out with waitForEvent In expressions, event = the original triggering event, async = the new event being matched. See [Expression Syntax Reference](../references/expressions.md) for full details. See inngest steps for additional patterns including step.invoke . System Events Inngest emits system events for function lifecycle monitoring: Available System Events Handling Failed Functions Sending Events Client Setup Single Event Batch Events Sending from Functions Event Design Best Practices Schema Versioning Rich Context Data Event design principles: 1. Self contained: Include all data consumers need 2. Immutable: Never modify event schemas after sending 3. Traceable: Include correlation IDs and audit trails 4. Actionable: Provide enough context for business logic 5. Debuggable: Include metadata for troubleshooting