Where to start for each AI product, what it can and can't report, and what changes once it's connected.
← Back to the dashboard| 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 · Admin / Compliance API | Connect Claude |
| 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 →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 | The only way to see agentic tool use, and the only way to see Cowork at all |
| 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 · Admin API · Compliance API | Org-wide workspace export on Team; programmatic conversation pull + per-message model attribution via the Admin / Compliance API on Enterprise. |
| Cowork | OTEL only | Live telemetry only, forward-only. No export or admin API exists for Cowork — it builds from the day you connect a key. |
| Claude Code | Export · Analytics API · OTEL | Historical via export / 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 → Export data. That control is only shown to the
Primary Owner — an Owner opening the same page sees the privacy toggles and
no 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.
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).