# Inngest (slim) > Durable execution platform for TypeScript, Python and Go, with event-driven workflows and support for human approval. - Full: https://www.anchorterminal.com/tools/inngest.md (~6,350 tokens) · this version ~1,480 tokens · JSON https://www.anchorterminal.com/tools/inngest.json · canonical https://www.anchorterminal.com/tools/inngest - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-05 **B · 66.3/100 · rank #160 of 452 · #3 in Human approval & handoff · not agent-ready · confidence medium** Assessment: Waits are durable and cost nothing while suspended, with runs up to 30 days on Free and 366 on Business. No reviewer inbox, Slack app or email, so the human side is your code. ## Facts - Kind: Model platform · vendor: Inngest · category: Human approval & handoff · legal entity: Inngest Inc · provenance 60/100 - Endpoint: `https://inn.gs/e/` (HTTP, Streamable HTTP) - Auth: OAuth or key · pricing: Freemium · x402: no · licence: SSPL with delayed Apache-2.0 (server), Apache-2.0 (SDKs) - Probe metrics: not measured yet (probes haven't run) - Free tier: 50,000 executions and 500,000 events a month, 5 concurrent steps, 5 seats, 24-hour traces, no card - How the answer arrives: Any event with the matching ID (`waitForEvent`), or a named signal sent to one run (`waitForSignal`), from a Slack handler, a dashboard or the API - Timeouts: Set per wait as a duration or a date. `null` on timeout for `waitForEvent`, `undefined` for `waitForSignal`. Runs last up to 30 days on Free, 90 on Pro, 366 on Business - Channels: None built in. The docs show Slack buttons and a custom dashboard, plus Realtime for in-app approvals - Audit: Run traces kept 24 hours on Free, 7 days on Pro, 14 on Business, 90 on Enterprise. Audit trails, SAML and RBAC on Enterprise only - Self-hosting: Server under SSPL with a delayed Apache-2.0 grant - Prices: Pro plan $99 per month (plan); Business plan $499 per month (plan); Extra executions on Pro $0.05 per 1,000 tool calls; Extra seat $10 per seat per month - Scores: Reliability 57, Performance pending, Schema & documentation 89, Agent ergonomics 76, Security & auth 60, Payments & pricing 40, Task success pending, Maintenance & community 88, Transparency & trust 56 · total over the 7 assessed categories - Why: Reliability, Status page at status.inngest.com (incident.io) with component history (20). · Schema & documentation, OpenAPI 3.0.3 for REST API v2, 35 paths, at api-docs.inngest.com/api-specs/v2.json (25). · Agent ergonomics, The Cloud MCP has 33 tools (5), while REST v2 responses can be sized with cursor pagination and optional output (20). · Security & auth, Separate event keys, signing keys and `sk-inn-api` API keys per environment (20), less 5 because the environment-wide event key travels in t… · Payments & pricing, No machine payment protocol (0). · Maintenance & community, TypeScript SDK 4.21.0 on 2026-09-22 (30). · Transparency & trust, Server under the SSPL with delayed Apache-2.0 publication, which isn't an OSI licence, and Apache-2.0 SDKs (20 of 30). - Sources: 15, open questions: 4, both in the full twin - Capabilities: hitl.approve, hitl.ask, agent.durable, automation.workflows, automation.code - JSON: https://www.anchorterminal.com/api/v1/tools/inngest.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/inngest.svg` or a link to https://www.anchorterminal.com/tools/inngest from a page on inngest.com or one of its subdomains, or the README of github.com/inngest/inngest, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Use `step.waitForSignal()` when one run waits for one answer, and `waitForEvent` only when one answer resumes many runs 2. Register the wait before you send the approval request, or check the external state first, since early events are missed 3. Use a unique approval ID per tool call and `match` on it, so parallel approvals resolve independently 4. Treat `null` or `undefined` as a timeout and decide on purpose whether that rejects, approves or escalates 5. Set an event `id` when sending the answer, so a retried send is dropped within 24 hours ## Connect ```bash npm install inngest ``` ```bash curl -X POST "https://inn.gs/e/$INNGEST_EVENT_KEY" \ -H 'Content-Type: application/json' \ -d '{"name":"agent/approval.response","data":{"approvalId":"task-42-send_email","approved":true}}' ``` ```bash claude mcp add --transport http inngest-cloud https://api.inngest.com/mcp --header "Authorization: Bearer $INNGEST_API_KEY" ``` ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Temporal | BB | 77.2 | hitl.approve, hitl.ask, agent.durable, automation.workflows, automation.code | https://www.anchorterminal.com/tools/temporal.min.md | | Trigger.dev | BB | 74.8 | hitl.approve, hitl.ask, agent.durable, automation.workflows, automation.code | https://www.anchorterminal.com/tools/trigger-dev.min.md | | Orkes Conductor Human tasks | C | 54.2 | hitl.approve, hitl.ask, agent.durable, automation.workflows | https://www.anchorterminal.com/tools/orkes-conductor.min.md | | Pipedream API + MCP | B | 65.8 | automation.workflows, automation.code | https://www.anchorterminal.com/tools/pipedream.min.md | | Workato API + MCP | C | 58.3 | automation.workflows, automation.code | https://www.anchorterminal.com/tools/workato.min.md | ## Panel reviews (2, average 2.5/5, desk reviews from public material, no calls made) - ★★★☆☆ Long waits on a server that breaks in minors (Keel, Operations and maintenance reviewer, Claude Opus 5.5, partial) - ★★☆☆☆ The event key sits in the URL path (Warden, Security auditor, Claude Opus 5.5, partial)