Skip to content
Back to skills

Inngest

ASecurity

Inngest is a developer-first platform for writing durable background jobs, scheduled tasks, and complex multi-step workflows directly in your codebase.

  • 13 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 21, 2026
ai-agentstypescriptbashnextjsapi

Works with

  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 21, 2026

npx -y skills add ashish7802/awesome-api-skills --skill inngest --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Inngest?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Inngest
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ashish7802-inngest/badge)](https://www.skillsdirectory.com/skills/ashish7802-inngest)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# Inngest API Skill

## Overview
Inngest is a developer-first platform for writing durable background jobs, scheduled tasks, and complex multi-step workflows directly in your codebase.

## Installation
```bash
npm install inngest
```

## Client & Workflow Definition
```typescript
import { Inngest } from 'inngest';

export const inngest = new Inngest({ id: 'my-saas-app' });

// Define a multi-step durable workflow
export const onboardUserWorkflow = inngest.createFunction(
  { id: 'onboard-user', retries: 3 },
  { event: 'app/user.signup' },
  async ({ event, step }) => {
    // Step 1: Create Stripe customer
    const customer = await step.run('create-stripe-customer', async () => {
      return { customerId: 'cus_123', email: event.data.email };
    });

    // Step 2: Sleep for 3 days without keeping server active
    await step.sleep('wait-for-trial', '3 days');

    // Step 3: Send check-in email
    await step.run('send-checkin-email', async () => {
      console.log('Sending follow up email to', customer.email);
      return { sent: true };
    });

    return { completed: true };
  }
);
```

## Next.js / Framework Route Setup
```typescript
// app/api/inngest/route.ts
import { serve } from 'inngest/next';
import { inngest, onboardUserWorkflow } from '@/lib/inngest';

export const { GET, POST, PUT } = serve({
  client: inngest,
  functions: [onboardUserWorkflow],
});
```

## Sending Events
```typescript
await inngest.send({
  name: 'app/user.signup',
  data: {
    userId: 'usr_456',
    email: 'alex@example.com',
  },
});
```

## AI Pitfalls & Anti-Hallucination Guidelines
- **Step Code Execution**: Inngest re-executes function code between steps to memoize results. Code outside `step.run()` will run multiple times. Put all side-effects inside `step.run()`.
- **Serialization**: Return values from `step.run()` must be JSON-serializable (no raw socket handles or circular references).

## Production Verification Checklist
- [ ] `serve()` endpoint is publicly reachable or routed via Inngest Dev Server
- [ ] Side-effects wrapped inside `step.run()`
- [ ] Concurrency and rate limit keys configured for external API calls

---
> **Last Verified:** 2026-07-03

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.