Four ways in.
One view of every agent.
Add our SDK to the agents you build, or let FriskAI read the telemetry you already collect in OpenTelemetry, Datadog, Langfuse or Claude Code. Whichever you pick, every agent gets the same findings and profiles.
FriskAI SDK
Instrument the agents you build
Wrap your agent with our SDK and every call it makes gets recorded with its arguments, output and timing. Your agent code doesn’t change otherwise.
What we receive
Every tool call with its arguments, output, errors and timing, tied to the session and the agent version. It’s the most complete picture we get from any source.
- Available
Python and TypeScript SDKs
Wrap any Python or TypeScript agent.
- Available
Framework adapters
LangChain and LangGraph, the Claude Agent SDK, Strands Agents and Mastra.
- Available
Custom runtimes
Wrap any call your agent makes.
import os
from langchain.agents import create_agent
from frisk_sdk.adapters.langchain import Frisk
frisk = Frisk(api_key=os.getenv("FRISK_API_KEY"))
agent = create_agent(
model=get_llm(),
tools=frisk.wrap_tools(llm_tools),
system_prompt=system_prompt,
)Agent telemetry
Stream from the AI tools your teams use
Coding agents and other AI tools that speak OpenTelemetry can send it straight to us. For Claude Code, you set it once in managed settings and every developer’s sessions start reporting.
What we receive
Model requests, tool results, permission decisions, cost and session context. Prompt text stays off unless you turn it on.
- Early access
Claude Code
Claude Code’s own OpenTelemetry export, rolled out to everyone through managed settings.
- Early access
OpenTelemetry (OTLP)
Any agent or framework that emits OpenTelemetry traces or logs over OTLP.
{
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"OTEL_LOGS_EXPORTER": "otlp",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_LOG_TOOL_DETAILS": "1",
"OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",
"OTEL_EXPORTER_OTLP_ENDPOINT": "<your FriskAI endpoint>",
"OTEL_EXPORTER_OTLP_HEADERS": "Authorization=Bearer <FRISK_API_KEY>"
}
}Observability platforms
Connect the platform that already holds your traces
If your traces already go to an observability or LLM tracing platform, we read them from there. There’s nothing new to install in your agents.
What we receive
Whatever your traces already capture, like tool calls, generations, latency and cost, mapped into the same sessions as every other source.
- Early access
Datadog
Read LLM Observability traces from your Datadog account.
- Early access
Langfuse
Read the traces already in your Langfuse projects.
How setup works
- 1You share read-only credentials for the account or project that holds your traces.
- 2You pick the services, projects or environments we should read.
- 3We learn what normal looks like from those traces, then open findings on anything new.
Logs and exports
Bring activity that lives in logs
Some products only record what their AI did in logs, audit trails or exports. We build the pipeline that pulls it out and brings it into FriskAI.
What we receive
Whatever the source records. We go through the fields with you first and tell you up front what we will and won’t be able to see.
- Custom pipeline
Application and audit logs
Agent and assistant activity written to your log pipeline.
- Custom pipeline
Vendor admin exports
Activity and audit exports from AI products you license.
- Custom pipeline
Data warehouse tables
Activity already landed in your warehouse or lake.
How setup works
- 1We look at what the product records and agree with you on what we’ll see.
- 2We build the pipeline that turns it into sessions in FriskAI.
- 3We keep it running and tell you if the source format changes.
Not sure which path fits?
Book a demo and bring a list of the agents and AI tools you run. We’ll match each one to a path and show you what we’d see once it’s connected.