What you add
ATelemetry object records one trace for one call. A sink, here Langfuse, says where the trace goes. The sink reads its keys from the environment, so no key is in your code.
telemetry. It records into the concierge’s spans, so one call is one trace even after a handoff.
Try it
Run a call as before, with the three keys set. Book a haircut, then hang up.- Open your project in Langfuse. A trace for your call should appear.
- Open it. You should see the turns, the transcript, the model requests and the tool calls.
- Run a call again with no keys. The agent works the same and sends nothing.
Why it works this way
Each framework gives its own events in its own shape. The adapters turn them into one trace shape, so a LiveKit call and a Pipecat call look the same in Langfuse. The call ends with one reason on both.Langfuse is one sink. Telemetry takes others too, and the page on telemetry lists them. Your agent code does not change when the sink does.
What you have now
Next: What you built
Compare your agent with the full example, and run it.