Integrations

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.

The shape of it

One line in, wherever you already are.

LLM Providers
OpenAI
Anthropic
Gemini
Meta / Llama
Mistral AI
Hugging Face
Agent Frameworks
Vercel AI SDK
LangChain
CrewAI
Ollama
Instrumentation
OpenTelemetry
Python
TypeScript
Your agentsLangGraphLangChainCrewAIVercel AI SDKyour own loop
One line in
OpenTelemetry
or @runback/sdk
Runback
ObserveReplayGateAudit

Whatever the framework, you can drill into any step:

research-email-agent · run failedclick any step ↓
Tool call · send_email — failed here
tool
send_email
status
error
input
{ "to": "alex[at]acme.co", "body": "Next.js 16 summary…" }
Invalid recipient — the model wrote the address in plain text ("[at]") instead of a valid email. The run failed here.
Using a specific model? Runback is model-agnostic.
OpenAIAnthropicLlamaMistralGeminiCohereGroqBedrock

Whatever model you call, Runback records it automatically — the inspector and monitoring don't care which provider you use.Replay — re-running a step against a live model — supports OpenAI, Anthropic, and Groq-hosted open models today; more are on the roadmap.

The deepest path

Vercel AI SDKNative SDK · deepest

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" });
LangGraph (Python)Native SDK · deepest

Real node identity, execution order, and state — captured via LangChain's own callback system, not a generic OpenTelemetry flatten that loses the graph's shape. Same tamper-evident digest as every other Runback SDK.

pip install "runback-sdk[langgraph]"

from runback import RunbackCallbackHandler

handler = RunbackCallbackHandler(run_name="my-graph")
result = graph.invoke(inputs, config={"callbacks": [handler]})
handler.finish()

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>"
OpenAI / Anthropic SDKsOpenTelemetry · Python or JS

Auto-instrument the official SDKs with OpenLLMetry — the open-source standard Traceloop maintains. 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 Runback

Already on Traceloop's hosted platform? See how it compares →

LangChain (plain chains, no LangGraph)OpenTelemetry

Instrument with OpenInference (or OpenLLMetry) and point the OTLP exporter at Runback. Building with LangGraph specifically? Use the native SDK above — generic OTel can't preserve a graph's node identity or state, only a plain chain's.

pip install openinference-instrumentation-langchain \
            opentelemetry-exporter-otlp-proto-http

# then export the env vars below, and:
#   LangChainInstrumentor().instrument()
CrewAIOpenTelemetry

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

Trace queries, retrievers, and LLM calls via OpenInference or OpenLLMetry.

pip install openinference-instrumentation-llama-index
# LlamaIndexInstrumentor().instrument(); then the env vars below.
Anything else (raw OpenTelemetry)OpenTelemetry · any language

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>"
Don't see your tool?

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.

Identitynative
Okta · Azure AD / Entra · Google Workspace · Auth0

SSO via OIDC, domain-routed, with provisioning.

CI / CDnative
GitHub Actions · GitLab CI · Jenkins

The eval release gate runs in your pipeline and fails the build on a regression. Agents pull versioned prompts by label over plain HTTP — no SDK required.

Incident & chatalerts · webhooks
Slack · PagerDuty · Opsgenie · Microsoft Teams

Alert rules route failures and error-rate spikes to email, Slack, or any webhook.

Regulatory evidenceread-only API
EAAPL — AU Enterprise AI Patterns

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.

SIEM & observabilityopen API · webhooks
Splunk · Datadog · Elastic

Stream run summaries, audit records, and ledger checkpoints out via the REST API and outbound webhooks.

Data warehouseAPI · export
Snowflake · BigQuery · S3

Export signed audit records and run data to your lake for retention and analytics.

Your cloudself-host
AWS · Azure · GCP · on-prem

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 run and we'll confirm the wiring.

Need audit coverage inside an AU regulatory evidence pack? See the EAAPL integration →