Connect Langfuse

Forward Langfuse trace data to Obsivara by pointing a Langfuse webhook at the Obsivara ingest endpoint.

Configure the webhook

In your Langfuse project settings, navigate to Integrations → Webhooks and add a new webhook pointing to:

text
https://api.obsivara.com/ingest/webhook/langfuse?asset_id=my-langfuse-agent

Add the header:

text
Authorization: Bearer obs_live_YOUR_KEY

Langfuse will POST a trace payload to Obsivara each time a trace completes. Obsivara maps the Langfuse trace id to a stable internal UUID automatically — you do not need to manage ID translation.

Accepted payload shape

Obsivara reads the following fields from the Langfuse webhook payload. All other fields are ignored.

FieldTypeDescription
idstringLangfuse trace ID (mapped to a stable UUID)
namestringTrace / pipeline name
inputanyInput data passed to the trace
outputanyOutput data returned by the trace
statusstringTrace outcome (success, error, etc.)
The Langfuse payload uses input and output (singular), unlike LangSmith which uses inputs/outputs (plural). Make sure your webhook is pointing at /ingest/webhook/langfuse — not the LangSmith endpoint.

Example payload:

json
{
  "id": "trace_xyz789",
  "name": "RAG pipeline",
  "input": "What is the refund policy?",
  "output": "You can request a refund within 30 days.",
  "status": "success"
}

Asset attribution

Pass ?asset_id= as a query parameter on the webhook URL to group traces under a named asset in the Obsivara dashboard. For example:

text
https://api.obsivara.com/ingest/webhook/langfuse?asset_id=rag-pipeline

All traces forwarded via this URL will appear under the rag-pipeline asset.

Test the connection

You can test the endpoint manually with curl before wiring up Langfuse:

bash
curl -X POST "https://api.obsivara.com/ingest/webhook/langfuse?asset_id=my-langfuse-agent" \
  -H "Authorization: Bearer obs_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "trace_xyz789",
    "name": "RAG pipeline",
    "input": "What is the refund policy?",
    "output": "You can request a refund within 30 days.",
    "status": "success"
  }'

A successful response is HTTP 202:

json
{ "source": "langfuse", "accepted": 1, "rejected": 0, "errors": [] }
External Langfuse IDs are auto-mapped to stable Obsivara UUIDs on first ingest. Subsequent traces with the same Langfuse ID will be linked to the same internal run record.

Verify it worked

After triggering a Langfuse trace, open the Obsivara dashboard and find your asset. Traces typically appear within one minute. See Verify it worked for a full walkthrough.