How it works
GET /api/public/traces, paginated by time) and fetches
each trace’s observations, then maps them to Hone’s model. Every observation
keeps its Langfuse id, so re-syncing an overlapping window is idempotent.
Connect (dashboard)
- In Langfuse, open Settings → API Keys and create a key pair. Copy the
Public key (
pk-lf-…) and Secret key (sk-lf-…), and note your host (e.g.https://us.cloud.langfuse.comorhttps://cloud.langfuse.com). - In Hone, go to Settings → Connections → Langfuse and paste the host and
keys. Optionally set:
- Customer-id metadata key — the Langfuse metadata field Hone treats as
your downstream tenant (
customer_idby default). - Backfill from — an ISO date to bound history (blank = everything).
- Customer-id metadata key — the Langfuse metadata field Hone treats as
your downstream tenant (
- Save. Hone backfills, then keeps syncing new traces.
Your Langfuse secret key is used server-side only, to read your project. Grant a
key with the least privilege your Langfuse plan allows.
What gets mapped
| Langfuse | Hone |
|---|---|
| trace | session (sessionId ?? id, userId, tags + metadata) |
observation GENERATION | agent turn |
observation SPAN | tool call |
observation EVENT | resource |
parentObservationId | parent event (call graph) |
observation id | event id (idempotent re-sync) |
metadata customer_id (configurable) | downstream tenant |