Runback sits above your stack.
It doesn't replace LangChain, CrewAI, or the AI SDK — it governs whatever you built on top of them. Use the SDK for the deepest capture, or send traces from any framework over OpenTelemetry.
or @runback/sdk
Whatever the framework, you can drill into any step:
- tool
- send_email
- status
- error
Whatever model you call, Runback records it automatically — the inspector and monitoring don't care which provider you use. Stepreplay — re-running a captured step against a live model — supports OpenAI, Anthropic, and Groq-hosted open models today; more providers are on the roadmap.
The deepest path
The richest integration — full context capture, in-process redaction, and step replay. About three lines.
import { withDebugger } from "@runback/sdk";
import { generateText, stepCountIs } from "ai";
const dbg = withDebugger(model, { runName: "agent", redact: "standard" });
const res = await generateText({
model: dbg.model,
tools: dbg.tools(myTools),
stopWhen: stepCountIs(8),
prompt: task,
});
await dbg.finish({ output: res.text, status: "success" });Not sure which of the three integration paths fits your setup? Read the full walkthrough →
Any framework, via OpenTelemetry
Point your OTLP trace exporter at Runback. Every example below also needs these three environment variables:
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://runback.dev/api/otel/v1/traces"
export OTEL_EXPORTER_OTLP_TRACES_PROTOCOL="http/json"
export OTEL_EXPORTER_OTLP_TRACES_HEADERS="authorization=Bearer <RUNBACK_API_KEY>"Auto-instrument the official SDKs with OpenLLMetry. No changes to your calls.
pip install traceloop-sdk
from traceloop.sdk import Traceloop
Traceloop.init(
api_endpoint="https://runback.dev/api/otel",
headers={"authorization": "Bearer <RUNBACK_API_KEY>"},
)
# your openai / anthropic calls are now traced to RunbackInstrument with OpenInference (or OpenLLMetry) and point the OTLP exporter at Runback.
pip install openinference-instrumentation-langchain \
opentelemetry-exporter-otlp-proto-http
# then export the env vars below, and:
# LangChainInstrumentor().instrument()OpenLLMetry instruments CrewAI agents, tasks, and tool calls out of the box.
pip install traceloop-sdk
# Traceloop.init(...) as above — CrewAI spans flow straight in.Trace queries, retrievers, and LLM calls via OpenInference or OpenLLMetry.
pip install openinference-instrumentation-llama-index
# LlamaIndexInstrumentor().instrument(); then the env vars below.If it emits GenAI spans, Runback reads it. Set three environment variables and go.
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://runback.dev/api/otel/v1/traces"
export OTEL_EXPORTER_OTLP_TRACES_PROTOCOL="http/json"
export OTEL_EXPORTER_OTLP_TRACES_HEADERS="authorization=Bearer <RUNBACK_API_KEY>"If it speaks OpenTelemetry GenAI conventions, it already works. Tell us what you use and we'll confirm the mapping — read the guide or open a live run.
Then it connects out to your stack.
Capture is half the story. Runback pushes the record into the systems your organization already runs — so it's governance that lives in your ecosystem, not another console to check.
SSO via OIDC, domain-routed, with provisioning.
The eval release gate runs in your pipeline and fails the build on a regression.
Alert rules route failures and error-rate spikes to email, Slack, or any webhook.
A scoped, read-only key exposes your live EU AI Act / ISO 42001 / NIST AI RMF / APRA CPS 230 control status to EAAPL's evidence pack. No ingest, no run content.
Stream run summaries, audit records, and ledger checkpoints out via the REST API and outbound webhooks.
Export signed audit records and run data to your lake for retention and analytics.
Self-host the whole platform in your perimeter — your data never leaves.
Don't see yours? Everything is reachable through the open REST API and outbound webhooks — tell us what you runand we'll confirm the wiring.
Need audit coverage inside an AU regulatory evidence pack? See the EAAPL integration →