---
title: Inngest API Integration on Truto
slug: inngest
category: Application Development
canonical: "https://truto.one/integrations/detail/inngest/"
---

# Inngest API Integration on Truto



**Category:** Application Development  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 39 tools for Inngest that AI agents can call directly.

- **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.

## How it works

1. **Link your customer's Inngest account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Inngest.** The Proxy API is a 1-to-1 mapping of the Inngest API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **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

- **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.

## FAQs

### 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.

## Related reading

- [Connect Inngest to ChatGPT: Control Functions & Runs via MCP](https://truto.one/blog/connect-inngest-to-chatgpt-control-functions-runs-and-observability/) — Learn how to connect Inngest to ChatGPT using a managed MCP server. Execute functions, manage runs, debug trace trees, and trigger event signals using natural language.
- [Connect Inngest to Claude: Manage events, experiments, and webhooks](https://truto.one/blog/connect-inngest-to-claude-manage-events-experiments-and-webhooks/) — Learn how to connect Inngest to Claude using a managed MCP server. Automate event triggers, function runs, and webhooks without custom integration code.
- [Connect Inngest to AI Agents: Automate Function Calls & Signals](https://truto.one/blog/connect-inngest-to-ai-agents-automate-function-calls-and-signals/) — Learn how to connect Inngest to AI agents using Truto's unified tools API. Automate function execution, send signals, and orchestrate event-driven workflows.
