Inngest Api logo

Inngest Api

Organization
Asymmetric-al
inngest-api

Use when inspecting or operating Inngest accounts, environments, keys, webhooks, app syncs, function invocations, runs, or traces through the Inngest CLI alpha REST API wrapper. Covers `npx inngest-cli@latest alpha api`, Cloud Production with `--prod`, local/custom API targets, authentication environment variables, safe secret handling, JSON body flags, and run/debug workflows.

Overview

PublisherAsymmetric-al
Repositorycore
Skill nameinngest-api
Stars
383
Forks
7
Bundled files
1
LicenseAGPL-3.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by Asymmetric-al on GitHub. Read the source before you install it.

Installation

Install the Inngest Api AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Asymmetric-al/core.git /tmp/core
mkdir -p .claude/skills
cp -r /tmp/core/docs/ai/skills/inngest-api .claude/skills/inngest-api
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Inngest Api in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Inngest Api on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Inngest Api is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Inngest API CLI

Use the alpha API CLI when the user needs account/environment operations, webhook management, app syncs, direct function invocation, or Cloud/local run inspection from Codex.

Because this command is alpha, verify the current interface before relying on memorized flags:

bash
npx inngest-cli@latest alpha api --prod --help
npx inngest-cli@latest alpha api <command> --help

If the user asks about CLI agent experience, product friction, or why an agent is stuck, also read agent-friction.md.

Secret Handling

  • Prefer credentials from environment variables: INNGEST_API_KEY, INNGEST_SIGNING_KEY, and INNGEST_ENV.
  • Do not write keys into source files, docs, committed .env files, or command examples.
  • Avoid --api-key <secret> in shell commands because it exposes the key in the transcript and process list.
  • If the user must provide a key interactively, ask them to set INNGEST_API_KEY in their shell/session and confirm when it is available.
  • Never print API keys, event keys, or signing keys in the final answer. When listing key resources, redact sensitive token values.

Targeting

By default, the command targets the local dev server.

bash
# Local dev server
npx inngest-cli@latest alpha api health

# Inngest Cloud Production
npx inngest-cli@latest alpha api --prod get-account

# Branch/customer environment in Cloud
INNGEST_ENV=staging npx inngest-cli@latest alpha api --prod get-webhooks

# Custom API origin
npx inngest-cli@latest alpha api --api-host http://127.0.0.1 --api-port 8288 health

Common target/auth flags:

  • --prod: target Inngest Cloud Production unless --api-host or --api-port is set.
  • --api-host, --api-port: target a custom API server.
  • --config: read target configuration from an Inngest config file.
  • --timeout: adjust HTTP timeout.
  • --env: send X-Inngest-Env, or use INNGEST_ENV.
  • --api-key: Bearer token, or use INNGEST_API_KEY.
  • --signing-key: Bearer token, or use INNGEST_SIGNING_KEY.
  • --raw: print the response body without JSON formatting.

For env-scoped write operations, do not rely on implicit production targeting. Set INNGEST_ENV or pass --env explicitly and confirm the target environment before running create-webhook, sync-app, invoke-function, or patch-env.

Command Map

Account and environment:

  • health: GET /health
  • get-account: GET /account
  • get-account-envs: GET /envs, supports --cursor and --limit
  • create-env: POST /envs, supports --id, --name, --body, --body-file
  • patch-env: PATCH /envs/{id}, supports --id, --is-archived, --body, --body-file

Keys and webhooks:

  • get-account-event-keys: GET /keys/events, supports --cursor, --limit
  • get-account-signing-keys: GET /keys/signing, supports --cursor, --limit
  • get-webhooks: GET /env/webhooks, supports --cursor, --limit
  • create-webhook: POST /env/webhooks, supports --name, --event-filter, --transform, --response, --body, --body-file

Apps, functions, and runs:

  • sync-app: POST /apps/{app_id}/syncs, supports --app-id, --url, --body, --body-file
  • invoke-function: POST /apps/{app_id}/functions/{function_id}/invoke, supports --app-id, --function-id, --data, --idempotency-key, --body, --body-file
  • get-function-run: GET /runs/{run_id}, supports --run-id, --include-output
  • get-function-trace: GET /runs/{run_id}/trace, supports --run-id, --include-output

Current discovery limitation: the alpha CLI does not expose list-apps, list-functions, or list-runs. If the user has not provided the required app_id, function_id, or run_id, first explain that the CLI cannot discover those IDs yet and ask for the ID or an alternate source such as the dashboard.

Workflows

Authenticated Smoke Test

When validating a provided API key or a new CLI install, start with low-risk read-only calls:

bash
npx inngest-cli@latest alpha api --prod get-account
npx inngest-cli@latest alpha api --prod get-account-envs --limit 5

These confirm that authentication, Cloud targeting, and account/environment access work before making changes such as app syncs, webhooks, or invocations.

Inspect a Failed Production Run

  1. Confirm the user has provided INNGEST_API_KEY through the environment, not in source files or visible command text.

  2. If using a branch environment, set or pass INNGEST_ENV.

  3. Fetch run metadata first:

    bash
    npx inngest-cli@latest alpha api --prod get-function-run --run-id <run_id>
  4. Fetch the trace when step-level detail is needed:

    bash
    npx inngest-cli@latest alpha api --prod get-function-trace --run-id <run_id> --include-output
  5. Summarize failed steps, retry state, error messages, and likely code changes. Do not paste large raw traces unless the user asks.

Sync an App

Use sync-app when validating Cloud registration for an app URL and you already know the app ID. The current command shape is a re-sync for an existing app, not a first-time "register this serve URL" workflow.

bash
npx inngest-cli@latest alpha api --prod sync-app --app-id <app_id> --url https://example.com/api/inngest

After sync, inspect the response for registration errors and compare them to the project's serve() endpoint, INNGEST_SIGNING_KEY, and deployed URL.

Invoke a Function

Use direct invocation for manual smoke tests or operational one-offs.

bash
npx inngest-cli@latest alpha api --prod invoke-function \
  --app-id <app_id> \
  --function-id <function_id> \
  --idempotency-key <stable_test_key> \
  --data '{"example":true}'

Prefer stable idempotency keys for repeatable tests. For complex payloads, use --body-file to avoid escaping mistakes.

Manage Webhooks

Before creating a webhook, list existing webhooks to avoid duplicates:

bash
npx inngest-cli@latest alpha api --prod get-webhooks

For create-webhook, prefer a body file when transforms, filters, or response templates contain quotes or multiline strings.

Output Handling

  • Default output is formatted JSON. Use --raw only when a downstream tool needs the exact response body.
  • Parse JSON with a structured tool when making decisions from CLI output.
  • Keep terminal summaries concise: account/env names, IDs, statuses, and actionable errors are usually enough.
  • Paginated list responses include a page object. If page.hasMore is true, continue with --cursor <cursor> when the user needs complete results.
  • Empty list responses may omit data; treat a missing data field as an empty list unless an error is present.
  • Webhook URLs and decrypted signing keys are secrets. Redact them in summaries and never write them to docs, source files, or committed fixtures.

Agent Experience Notes

The CLI is suitable for Codex usage because common failure modes are concise and actionable:

  • Missing or invalid Cloud auth returns 401 Unauthorized with access_denied; first verify a key was actually provided, then ask the user to provide or rotate INNGEST_API_KEY through the environment.
  • Missing required path flags fail before a network request, for example missing required --run-id.
  • A missing local dev server explains that inngest dev should be started or --prod should be used for Cloud.
  • Unknown environments return 404 Not Found with env_not_found; list environments with get-account-envs before retrying.
  • --raw returns compact JSON and is still parseable; prefer default formatted JSON for human summaries.
  • Subcommand --help may hide inherited target/auth flags; check the top-level alpha api --help when target or auth behavior is unclear.

Treat create-env, patch-env, create-webhook, sync-app, and invoke-function as mutating or side-effecting operations. Use read-only checks first, then confirm intent and target environment before running them.

This Repository

These upstream Inngest instructions are vendored for agent tooling and integration work in this monorepo.

Repository Triggers

Use this skill when inngest-api matches the current Inngest task. If the right skill is unclear, start with docs/ai/skills/inngest/SKILL.md.

Repository Workflow

  1. Confirm whether the request is agent-tooling guidance or product runtime integration.
  2. Use inngest-brownfield-audit before changing existing app workflows or fragile background work.
  3. Follow this upstream guidance under OpenSpec, root AGENTS.md, repo rulebooks, framework docs, and runtime evidence.
  4. Keep runtime packages, app code, migrations, and INNGEST_* env requirements out of agent-tooling-only changes.

Repository Checklist

  • The task has explicit product-runtime scope before adding Inngest app code or dependencies.
  • Existing workflows were audited before introducing or changing durable workflow behavior.
  • Any MCP usage is backed by a running Inngest dev server on the configured port.
  • Upstream source and license attribution remain documented in docs/ai/skills/inngest/references/upstream.md.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Inngest Api AI skill do?

Use when inspecting or operating Inngest accounts, environments, keys, webhooks, app syncs, function invocations, runs, or traces through the Inngest CLI alpha REST API wrapper. Covers `npx inngest-cli@latest alpha api`, Cloud Production with `--prod`, local/custom API targets, authentication environment variables, safe secret handling, JSON body flags, and run/debug workflows.

Why use Inngest Api on TypingMind?

Because you install it once and use it with any model. Inngest Api is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Inngest Api in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Asymmetric-al/core/tree/develop/docs/ai/skills/inngest-api. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Inngest Api?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Inngest Api?

As many as you like. As long as a model supports skills, you can use Inngest Api with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Inngest Api AI skill free?

Yes. It is published on GitHub by Asymmetric-al under the AGPL-3.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇