Dashboards

Runs

A shadcn-style data table of every run from every Catch, Pass, Inflow, Outflow, and Relay. Each row shows its `variant` (run mode) and `source` (scheduled | manual | webhook) alongside stats (extracted, transformed, created, updated, deleted, failed, duration) and an expandable step-by-step trace. Filterable by component, status, and time. Reads from the standard `khotan_runs` table.

Run
Status
Rows
stripe.inflow
ok
142
linear.catch
ok
18
hubspot.outflow
fail
5

Install

$ npx khotan add runs

Modes

Query only
Call the runs API from server code, scripts, or your own UI.
// List recent runs for a component
const recent = await khotanData.api.runs.list({
component: 'stripe.inflow',
limit: 20,
})
// Get the full trace for one run
const run = await khotanData.api.runs.get(runId)
// → { status, durationMs, extracted, transformed,
// created, updated, deleted, failed, batches,
// metadata, trace: [{ ts, level, message }, ...] }
Drop-in table
Render the full runs table with filters, status, stats, and an expandable trace per row.
import { RunsTable } from '@/components/khotan/RunsTable'
// Scoped to one component, or omit to show all
<RunsTable component="stripe.inflow" />

Documentation

See the full integration guide — schema, generated files, helper API, and configuration — in the Runs docs.