Application Development
Inngest
API integration
Ship Application Development features without building the integration. Full Inngest API access via Proxy and 30+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Inngest
Common scenarios for SaaS companies building Inngest integrations for their customers.
Embed durable execution into your AI product
AI SaaS platforms can let their customers connect Inngest to orchestrate multi-step agent workflows with retries, delays, and human-in-the-loop pauses — without building their own execution layer.
Trigger customer workflows from your app events
Fire events and function invocations into a customer's Inngest environment when things happen in your SaaS, so their downstream automations (billing sync, notifications, provisioning) run reliably on their own infrastructure.
Resume long-running workflows on user approval
Marketing, support, and ops platforms often stage actions behind human review. Sending an Inngest signal when a user approves in your UI unpauses their waiting workflow cleanly.
Show native run status and traces inside your dashboard
Instead of asking users to context-switch to Inngest, pull run status and execution traces via Truto and render pipeline health natively in your product.
White-label Inngest for your customers
Workflow tools and vertical SaaS can programmatically provision Inngest partner accounts per tenant, giving each customer isolated execution infrastructure without manual setup.
What You Can Build
Ship these features with Truto + Inngest
Concrete product features your team can ship faster by leveraging Truto’s Inngest integration instead of building from scratch.
One-click Inngest connect for your users
Let end users authenticate their Inngest account through Truto and immediately begin routing events, invocations, and signals to their environment.
Approval-driven workflow resumption
Wire an 'Approve' button in your UI to create_a_inngest_signal so paused step.waitForSignal workflows resume with the payload from your app.
Bulk cancellation on user actions
When a user deletes a campaign, user, or entity in your product, fire create_a_inngest_cancellation to kill all scheduled or in-flight functions matching that identifier.
Native run status indicators
Use list_all_inngest_runs and get_single_inngest_run_by_id to show queued, running, completed, and failed states next to jobs your app dispatched.
Embedded trace explorer
Render Inngest's run traces inside your dashboard using list_all_inngest_run_traces so users can debug step-level execution without leaving your product.
Automated webhook provisioning
On integration setup, call create_a_inngest_env_webhook to wire your event bus directly into the correct customer environment listed via list_all_inngest_envs.
SuperAI
Inngest AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_inngest_accounts
Get the Inngest account for the authenticated user. Returns: id, name, email, createdAt, updatedAt.
get_single_inngest_app_by_id
Get a single Inngest app by id, including sync metadata and function count. Returns: id, name, createdAt, functionCount, isArchived, method, latestSync. Required: id.
list_all_inngest_app_functions
List Inngest app functions with configuration and status details. Returns: id. Required: app_id. Max 100 per page.
get_single_inngest_app_function_by_id
Get a single Inngest app function by id. Returns the function object including id, name, slug, app, configuration, failureHandler, isArchived, isPaused, and triggers. Required: app_id, id. This endpoint is in Beta.
list_all_inngest_function_experiments
List observed experiments for an Inngest function within an app, including variant counts and total run counts. Returns: id. Required: app_id, function_id.
get_single_inngest_function_experiment_by_id
Get experiment aggregates for a specific Inngest experiment by id, including variant run counts and score metrics. Returns: id. This endpoint is in Beta. Required: app_id, function_id, id.
create_a_inngest_function_invoke
Invoke an Inngest function by app and function ID, executing it either asynchronously or synchronously. Returns: id, name, transform, url. Required: app_id, function_id.
create_a_inngest_app_sync
Sync an Inngest app at the provided URL. Returns: id, appId, status, error, name, transform, url. Required: app_id. This endpoint is in Beta.
list_all_inngest_env_webhooks
List all webhooks in an Inngest environment. Returns: id, name, url, transform, response, environment, eventFilter, createdAt, updatedAt. Max 100 per page.
create_a_inngest_env_webhook
Create a new webhook in an Inngest environment for receiving events. Returns: id, name, url, transform, response, environment, eventFilter, createdAt, updatedAt.
list_all_inngest_envs
List all custom Inngest environments for the authenticated account. Returns: id, name, type, createdAt. Max 250 per page.
create_a_inngest_env
Create a custom Inngest environment. Returns: id, name, type, createdAt.
update_a_inngest_env_by_id
Partially update an Inngest environment by id; only provided fields are modified. Returns: id, name, type, createdAt, isArchived. Required: id.
list_all_inngest_event_runs
List Inngest function runs triggered by a specific event. Returns: run_id, run_started_at, ended_at, status, output, function_id, function_version, environment_id, event_id, batch_id, original_run_id, cron. Required: event_id. Max 40 runs per page.
list_all_inngest_experiments
List observed experiments in an Inngest environment. Returns: id, firstSeen, lastSeen, selectionStrategy, totalRuns, variantCount, variants, function. Optionally filter by app, function, or time range. This endpoint is in Beta — behavior and shape may change before general availability.
list_all_inngest_keys_events
List Inngest account event keys, optionally filtered by environment. Returns: id, key, name, environment, createdAt. Max 100 per page.
list_all_inngest_keys_signings
List Inngest account signing keys, optionally filtered by environment. Returns: id, key, name, environment, createdAt. Defaults to the production environment when no environment filter is provided. Max 100 per page.
list_all_inngest_partner_accounts
List Inngest partner sub-accounts. Returns: id, name, email, createdAt, updatedAt. Max 1000 per page.
create_a_inngest_partner_account
Create a new Inngest partner sub-account. Returns: id, name, email, apiKey, createdAt, updatedAt. Required: email.
get_single_inngest_run_by_id
Get a single Inngest function run by id. Returns the run summary including id, status, durationMs, queuedAt, startedAt, endedAt, function, trigger, and output. Required: id.
list_all_inngest_runs
List Inngest function runs associated with a session. Returns each run's id, status, queuedAt, startedAt, endedAt, eventName, and function. Required: session_key, session_id.
delete_a_inngest_run_by_id
Cancel a running Inngest function run by id immediately. No new steps will run after cancellation. Returns an empty 204 response on success. Required: id.
create_a_inngest_run_rerun
Rerun a function run in Inngest, creating a new run using the original run's triggering event data. Returns: runId, id, name, transform, url. Required: run_id. This endpoint is in Beta and its behavior may change.
create_a_inngest_run_score
Submit one or more named scores for an Inngest function run, optionally targeting specific steps. Returns: name, runId. Required: run_id. Maximum 100 scores per request; writes are best-effort and not atomic. Beta endpoint.
list_all_inngest_run_traces
Get the trace tree for a single Inngest function run. Returns the rootSpan (including id, name, status, stepOp, stepId, durationMs, startedAt, endedAt, queuedAt, input, output, children, metadata) and runId. Required: run_id. This endpoint is in Beta — behavior and shape may change.
list_all_inngest_sessions
List session keys observed in the authenticated Inngest environment. Returns: id, createdAt. This endpoint is in Beta.
get_single_inngest_session_by_id
List sessions for a specific session key in Inngest. Returns: id, failedRunCount, failureRate, functions, lastActiveAt, runCount. Required: id. This endpoint is in Beta.
list_all_inngest_events
List recent events from your Inngest environment, optionally filtered by event name and a received-at time window. Returns: internal_id, accountID, environmentID, source, sourceID, receivedAt, id, name, data, user, ts, v. Max 100 per page.
get_single_inngest_event_by_id
Get a single Inngest event by its internal ID. Returns: internal_id, accountID, environmentID, source, sourceID, receivedAt, id, name, data, user, ts, v. Required: id.
list_all_inngest_run_jobs
List jobs for a specific Inngest function run, ordered earliest to latest within the function queue. Returns: at, position, attempt. This endpoint is rate limited and cached for 5 seconds. Required: run_id.
create_a_inngest_signal
Resume an Inngest function awaiting a signal via step.waitForSignal by sending data to the waiting function run. Returns: run_id.
list_all_inngest_cancellations
List all cancellations in your Inngest environment. Returns: id, environment_id, function_internal_id, function_id, started_before, started_after, if.
create_a_inngest_cancellation
Create a bulk cancellation in Inngest, cancelling all functions in a given time range matching an optional expression. Returns: id, environment_id, function_internal_id, function_id, started_before, started_after, if. Required: app_id, function_id, started_before.
delete_a_inngest_cancellation_by_id
Delete an Inngest cancellation by id, preventing it from stopping function runs between the given dates with a given expression. Returns an empty response on success. Required: id.
list_all_inngest_webhooks
List all webhook endpoints in the current Inngest environment. Returns: id, name, transform, url, createdAt, updatedAt.
create_a_inngest_webhook
Create a new webhook endpoint in Inngest with the given configuration. Returns: id, name, transform, url, createdAt, updatedAt.
get_single_inngest_webhook_by_id
Get a single Inngest webhook endpoint's configuration by id. Returns: id, name, transform, url, createdAt, updatedAt. Required: id.
update_a_inngest_webhook_by_id
Update an Inngest webhook endpoint's configuration by id. Returns: id, name, transform, url, createdAt, updatedAt. Required: id.
delete_a_inngest_webhook_by_id
Delete an Inngest webhook endpoint by id. Returns: id. Required: id.
Why Truto
Why use Truto’s MCP server for Inngest
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Inngest in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Inngest account
Use Truto’s frontend SDK to connect your customer’s Inngest account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Inngest
Truto’s Proxy API is a 1-to-1 mapping of the Inngest API. You call us, we call Inngest, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Inngest’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Inngest on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How do end users authenticate their Inngest account?
Truto handles the Inngest auth flow on your behalf — your users connect their account once and Truto manages credential storage, refresh, and injection into every API call.
Can I trigger a specific Inngest function from my app?
Yes. Use create_a_inngest_function_invoke to trigger a predefined function asynchronously, or send events that match the customer's own function triggers.
How do I resume a paused workflow waiting on user input?
Call create_a_inngest_signal with the signal name and payload. This fulfills Inngest's step.waitForSignal primitive and resumes the suspended run.
Can I cancel multiple in-flight runs at once?
Yes. create_a_inngest_cancellation accepts an expression, so you can cancel all queued or running functions matching a filter such as a user ID or campaign ID in a single call.
How do I show run status and step-level detail in my UI?
Use list_all_inngest_runs and get_single_inngest_run_by_id for high-level status, and list_all_inngest_run_traces for the execution tree with spans, step ops, and durations.
Can I provision isolated Inngest environments for each of my tenants?
Yes. create_a_inngest_partner_account lets you programmatically spin up sub-accounts, and list_all_inngest_envs plus create_a_inngest_env let you manage environments within an account.
How do I register webhooks into a customer's Inngest environment?
List the target environments with list_all_inngest_envs, then call create_a_inngest_env_webhook to register your endpoint so your platform's events flow directly into the customer's Inngest setup.
From the Blog
Inngest integration guides
Deep dives, architecture guides, and practical tutorials for building Inngest integrations.
Inngest
Get Inngest integrated into your app
Our team understands what it takes to make a Inngest integration successful. A short, crisp 30 minute call with folks who understand the problem.