We raised a $21M Series A to help companies ship and iterate faster.
Featured image for Introducing Inngest Insights: Query Your Events and Runs Without Extra Plumbing blog post

Introducing Inngest Insights: Query Your Events and Runs Without Extra Plumbing

Lauren Craigie· 9/23/2025 · 4 min read

TLDR: We were tired of writing custom metrics and grepping logs every time we wanted to know what happened in a run. So, we built Insights, now in beta for all Inngest users.

The scene: You're an engineer that wants to know how your feature is performing. Not just how it's being used, but how it's holding up to user demands.

“How many users hit that endpoint?”

“Who is racking up the most LLM tokens?”

“Which workflows failed this hour?”

Your options: Before today, no queue or workflow engine let you natively query run history, so you'd need to go outside these tools to understand performance. You could…

  • Grep logs and write one-off scripts until you get a halfway decent answer.
  • Write an ETL pipeline to dump event data into a warehouse, and wait for your transformation tool to finish a run before you can even query it.
  • Build a dashboard in BI or AI observability tools, and update that model every time you make a change in your workflow tool.

If you have an AI feature, it's even tougher. AI workflows and agents are complex multi-step chains of non-deterministic LLMs, making it really hard to evaluate how these features are performing, and how much they cost.

That's a ton of overhead just to know what your system is doing.

Query workflows where they're managed

You're already sending all your event and function data to your workflow tool. Why spend time writing scripts or updating models just to get answers about that data?

Developers wanting to ship and iterate faster need:

  • Instant answers — no extra instrumentation, no pipelines to maintain.
  • Unified context — system, user, and usage data in one place.
  • Direct access — query data interactively and use it to debug.

Meet Insights

Today we're excited to announce the public beta of our new Insights feature. As of today, all users are now able to access the Insights Explorer, to extract aggregate, actionable intelligence from their account's events and (soon) traces—using just SQL.

Need to figure out which users are triggering the most events?

sql
SELECT simpleJSONExtractString(data, 'user_id') as user_id, count(*)
FROM events
WHERE name = 'order.created'
GROUP BY user_id
ORDER BY count(*) DESC
LIMIT 10;

Want to know the errors causing failures for the "generate-report" function?

sql
SELECT
    simpleJSONExtractString(data, 'message') as error_message,
    COUNT(*) as failed_count
FROM events
WHERE
    name = 'inngest/function.failed'
    AND simpleJSONExtractString(data, 'function_id') = 'generate-report'
    AND ts > toUnixTimestamp(addDays(now(), -1)) * 1000
GROUP BY
    error_message
ORDER BY
    failed_count DESC

(And coming soon…) Want to check token usage across models for yesterday?

sql
SELECT model, sum(tokens)
FROM runs
WHERE name = 'generate-summary'
  AND date(timestamp) = addDays(now(), -1)
GROUP BY model
ORDER BY sum(tokens) DESC;

No extra data plumbing required—you can run these queries right from the dashboard, right now.

Why Now

Inngest has always enabled users to filter and examine runs individually (typically to quickly debug run outputs or payloads). But soon it became clear that users—especially those with thousands of concurrent jobs—need a unified way to extract insight at scale, without exporting to another tool for disjointed analysis.

Insights lets users explore this data in aggregate, making it incredibly easier to investigate, debug, and iterate.

  • For debugging: Answer “what happened?” without grepping logs.
  • For iteration: Measure the impact of code changes in minutes.
  • For product analytics: Track usage trends directly from Inngest data.

This is especially powerful for AI-enabled products, where knowing exactly how many tokens were used, which models are being called, and how often agents succeed or loop is critical for cost control and reliability.

What's coming next

We're already building the next feature set for Insights, and are excited to soon introduce:

  • Create your own APIs: Create APIs over specific queries (for example, real-time analytics + charting, or audit trails)
  • Dashboards: The ability to create dashboards which combine multiple published insight queries and UI components into customizable views.
  • UI components: Components to visualize data from the response (eg. pre-made e-charts for line/bar charts, etc)

Get Started

  • Read the docs to see what's possible with Insights.
  • Run your first query in the dashboard today.
  • Start using the results to power debugging, dashboards, or even user-facing analytics.