Where to start for each AI product, what it can and can't report, and what changes once it's connected.
← Back to the dashboardData reaches SightLift three ways, and which ones you get depends on the product: a live telemetry feed, a scheduled API sync, or a manual export upload. The one rule that surprises people: live telemetry is forward-only — it starts the day you connect and never backfills. API syncs and uploads are how you get history.
Almost everything below is about conversations. Agent runs are a second subject with its own credential and its own screen: a workspace-scoped read key, which is a scheduled API sync like any other, pointed at the platform your agents run in. It is in the table below and has its own guide. The rest of this page is about the conversations people have.
| You use | It connects by | Start with |
|---|---|---|
| Claude Code Cowork |
Live telemetry | Connect Claude — or fan out from a collector if another vendor already consumes it |
| Claude chat (claude.ai) |
Export · Compliance API | Connect Claude |
| Claude Managed Agents | Workspace-scoped read key | Connect Claude Managed Agents. This one brings in agent runs rather than conversations, and it backfills. |
| ChatGPT (Enterprise / Edu) |
Compliance Logs API | Connecting OpenAI below |
| Gemini app (Workspace) |
Vault · Admin SDK | Connecting Google below |
| Codex CLI Gemini CLI |
OTLP-capable | Not yet — see below. These emit OpenTelemetry, but each uses its own event schema and we only reconstruct one today. |
| Something else that speaks OTLP |
Live telemetry | Talk to us — send a sample and we'll tell you what we can read |
Setup guide
Claude Code, Cowork and Chat, pointed straight at SightLift. The exact admin screens with copy-paste configuration.
Read the guide →Setup guide
Run one collector as a gateway and fan out, so your existing vendor keeps everything it gets today and SightLift gets its own copy.
Read the guide →Setup guide
Where to find your Anthropic workspace ID, and how to mint the read-only key the Agents tab is filled from. A different subject to the rest of this page: agent runs, not conversations.
Read the guide →Independent of vendor, these behave differently in ways worth knowing before you choose:
| Method | History | Credential | Good for |
|---|---|---|---|
| Live telemetry | Forward-only | A SightLift ingest key — you paste it into the tool, nothing outbound from us | Agentic tool use, and the only way SightLift sees Cowork today |
| Scheduled API sync | Back to the provider's retention limit | A read-only org credential you issue to us (no inference, no write, no billing access) | Steady history plus ongoing catch-up, without asking anyone to change a setting |
| Manual upload | Everything in the file | None — you hand us the export | Backfilling beyond an API's window, or when your org won't allow an outbound key |
You can use more than one for the same product, and should: an upload for history plus live telemetry going forward is the most complete picture. Adding a source only ever improves what we can measure — it never downgrades something you already had.
Live telemetry is OpenTelemetry. Your tool — or your own collector — exports to SightLift's ingest endpoint, authenticated by a per-tenant ingest key. The key is shown once at creation, so copy it then.
Logs: https://app.sightlift.ai/v1/logs Traces: https://app.sightlift.ai/v1/traces Header: Authorization: Bearer <your-ingest-key>
tool.output span
event. A setup that sends only logs works, and silently gives up capability verification.
There is no metrics endpoint: /v1/metrics returns 405.
Only OTLP over HTTP is accepted; there is no gRPC ingest. Protocol is
http/protobuf or http/json — both work on both paths, so use whichever
your tool's configuration screen expects.
Where the key comes from. Generate one under Configuration → Data & sources → Anthropic Claude → your plan → Live telemetry. That tab sits on the Anthropic card rather than somewhere neutral for a real reason, not an arbitrary one — see OTLP from other tools.
This is the part worth understanding whatever you connect. Telemetry carries content in layers, and each layer unlocks a different class of answer:
| Layer | What it enables |
|---|---|
| Metadata only | Spot repeated work, measure adoption, attribute cost. A complete picture of how much. |
| Prompt text | Classify work accurately by topic and outcome — what your team is doing. |
| Tool inputs | Capture the command or script that ran, so repeated deterministic work becomes a candidate automation. |
| Tool output | Let SightLift prove a candidate automation reproduces your real results before offering it back to your team. |
Products differ in how they expose these, and in which direction the default points:
OTEL_LOG_USER_PROMPTS,
OTEL_LOG_TOOL_DETAILS, and OTEL_LOG_TOOL_CONTENT (which also needs
tracing on via CLAUDE_CODE_ENHANCED_TELEMETRY_BETA). Tool content is truncated at
roughly 30,000 characters per attribute — measured from captured spans; the 60 KB in
Anthropic's docs is not what arrives.tool_parameters — file paths,
command arguments) and tool output (tool.input + tool.output on
agent.query spans) all stream. The only lever is subtractive — redact at your
own collector if you want less.user_prompt event still arrives — but its text is the literal string
<REDACTED>, so SightLift sees metadata and not what was said. Because live
telemetry has no backfill, enabling a layer later does not recover the work that
happened while it was off. That cuts the other way too: nothing you never enabled was
ever collected.
You don't need any of this to start — with metadata alone SightLift still measures your work and proves capabilities forward as they're used. Turn layers on per team as your security review is comfortable. What we store and who can see it: data access & privacy.
What each product gives you, by ingestion method:
| Product | Ingestion methods | What you get |
|---|---|---|
| claude.ai | Export · Compliance API | Org-wide workspace export on Team and Enterprise; programmatic conversation pull + per-message model attribution via the Compliance API (a Compliance Access Key) on Enterprise. An Admin API key cannot read conversations. |
| Cowork | OTEL | Live telemetry, forward-only. In SightLift, Cowork builds from the day you connect a key. On Enterprise, Anthropic's Compliance API also keeps Cowork session transcripts, but SightLift does not read them yet. |
| Claude Code | Export · Analytics API · OTEL | Historical via export, plus daily usage totals (no conversation content) from the Analytics API; live, forward-only via OTEL telemetry (same key as Cowork). |
| OpenAI — ChatGPT | Compliance Logs Platform | On Enterprise/Edu, the Compliance Logs Platform delivers time-windowed JSONL logs of org-wide conversations, files, and workspace metadata (the conversations-logs system replaced the older stateful route in 2026). No live OTLP path for ChatGPT itself. |
| OpenAI — Codex | OTEL · API | The Codex CLI exports OpenTelemetry logs (prompts, tool decisions, MCP usage). OTLP-capable like Claude Code — see the note below on SightLift support. |
| Google — Gemini app | Vault · Admin SDK | On Workspace, Vault now covers the Gemini app (retention, litigation hold, search, and XML export of prompts + responses), plus Admin SDK / audit logs. No live OTLP path for the Gemini app. |
| Google — Gemini CLI | OTEL | The Gemini CLI exports telemetry via OTLP/gRPC or OTLP/HTTP to any collector. OTLP-capable like Claude Code — see the note below on SightLift support. |
.zip from claude.ai →
Organization settings → Data and privacy → Data controls → Export data. That control is only shown to the
Primary Owner — an Owner opening the same page does not see the export
row, so check your role before concluding it isn't there. It contains
conversations.json (chats) and users.json (member names) — SightLift
uses both for accurate person mapping.
One key works for both Cowork and Claude Code. The key identifies your
tenant; SightLift splits Cowork from Claude Code downstream by the telemetry's
service.name, so sharing a key never muddles the data.
We still recommend a labeled key per surface — e.g. Cowork — prod
and Claude Code — CLI. Separate keys let you revoke or rotate one surface without
disrupting the other, and give each its own "last activity" stamp.
No manual allowlisting step for Cowork. The Cowork sandbox blocks outbound network calls by default, but the console now adds your endpoint to its egress allowlist automatically when you save, and says so inline under the endpoint field.
The cost key makes the Cost tab's Claude figures follow your real token usage. Without it, the Cost tab estimates tokens from the text and prices them at one fallback rate. Its badge then reads ○ Estimated. With it, SightLift pulls your daily token totals and model mix from Anthropic, and the badge reads ◐ Model mix. Dollar amounts still use SightLift's published rates, not your invoice. Conversations still come from the upload, the Compliance sync or live telemetry.
Either of two keys works. Both come from platform.claude.com.
| Admin API key | Service account key | |
|---|---|---|
| Begins | sk-ant-admin01-… | sk-ant-api03-… |
| Where | Settings → Admin keys → Create key. | Settings → API keys → Create key. Set Linked account to a service account with the developer role. |
| Scope | Always the whole organization. | Set Scope to Organization. A key scoped to one workspace cannot read cost data. |
| Who creates it | An organization admin. | An organization admin creates the service account under Settings → Service accounts. |
| What else it can do | Manage your organization's members, invites and keys. | Make model calls in the workspaces its service account belongs to. |
SightLift only reads with either key. A service account key with Organization scope can also connect Claude Managed Agents.
| What you see | What it usually means |
|---|---|
| Key doesn't look like the right kind | The key begins with something other than sk-ant-admin01- or
sk-ant-api03-. An sk-ant-api01- key is a Claude Enterprise
Compliance key, which this field does not take. Neither does a token from
ant auth login. |
| Anthropic refused the key | The key has expired or been revoked, or it is scoped to one workspace. Create a new key with Scope set to Organization and Expires set to Never. |
sk-admin-…), created by an Org Owner at
platform.openai.com → Organization → Admin keys. Admin keys are org-management
credentials — there's no per-resource OAuth scope to choose.AIza… API key.)https://www.googleapis.com/auth/ediscovery.readonly (Vault — prompts +
responses) and
https://www.googleapis.com/auth/admin.reports.audit.readonly (Admin SDK
Reports — Gemini activity).