Integrations

One ingest endpoint, every agent framework. Drop in a callback or middleware and agentwach starts tracking events, costs, and security hits within minutes.

Framework

LangGraph

python

Stateful, multi-actor agent graphs. Ingest every node transition and tool call.

from langgraph.graph import StateGraph
from agentwach import AgentwachCallback

cb = AgentwachCallback(api_key="$AGENTWACH_KEY", agent="my_graph")
graph = StateGraph(state).with_config({"callbacks": [cb]})

CrewAI

python

Multi-agent crews with role-based collaboration. Track every crew member and task.

from crewai import Crew
from agentwach import wrap_crew

crew = wrap_crew(Crew(agents=[...], tasks=[...]), agent="customer_ops")
crew.kickoff()

AutoGen

python

Microsoft AutoGen conversational agents. Capture every message and tool invocation.

import autogen
from agentwach import autogen_hook

autogen_hook(autogen, api_key="$AGENTWACH_KEY", agent="reviewer")
agent = autogen.AssistantAgent("reviewer", llm_config=cfg)

Mastra

ts

TypeScript agent framework. One middleware, all agent runs tracked.

import { Mastra } from "@mastra/core";
import { agentwach } from "agentwach";

export const mastra = new Mastra({
  agents: { ... },
  middleware: [agentwach({ apiKey: process.env.AGENTWACH_KEY!, agent: "concierge" })],
});

Vercel AI SDK

ts

streamText / generateText with full telemetry into agentwach.

import { streamText } from "ai";
import { withAgentwach } from "agentwach/vercel-ai";

const result = await withAgentwach(
  () => streamText({ model, prompt }),
  { agent: "chat", apiKey: process.env.AGENTWACH_KEY! },
);

OpenAI Agents SDK

python

openai-agents Python & TS. Tool runs, handoffs, and traces forwarded.

from agents import Agent, Runner
from agentwach.openai_agents import trace

with trace(agent="support", api_key="$AGENTWACH_KEY"):
    Runner.run_sync(Agent(name="support", tools=[...]), prompt)

LlamaIndex

python

Agents, query engines, and workflows. Span-level visibility.

from llama_index.core import Settings
from agentwach.llamaindex import AgentwachHandler

Settings.callback_manager.add_handler(
    AgentwachHandler(api_key="$AGENTWACH_KEY", agent="rag")
)

Protocol

OpenTelemetry

bash

Send OTLP/HTTP traces directly. Works with any OTel-instrumented runtime.

export OTEL_EXPORTER_OTLP_ENDPOINT=https://agentwach.com/api/public/otel
export OTEL_EXPORTER_OTLP_HEADERS="x-agentwach-key=$AGENTWACH_KEY"
export OTEL_SERVICE_NAME=my-agent

Raw HTTP

bash

Plain JSON POST. Any language, any runtime. No SDK required.

curl -X POST https://agentwach.com/api/public/ingest \
  -H "x-agentwach-key: $AGENTWACH_KEY" \
  -H "content-type: application/json" \
  -d '{"agent":"my_agent","type":"tool_call","name":"search","data":{"q":"..."}}'

Don't see your stack?

Anything that can POST JSON over HTTPS can talk to agentwach. Use the raw HTTP recipe above, or open a request and we'll publish a first-class integration.

Request an integration →