Post-Call CRM & Analytics Telemetry Collector for livekit/agents
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- python
- Ambito
- backend-api-design
Direzione di ricerca
Start by reading the proposed placement in beta/livekit.agents.beta.gtm_telemetry and the listed event hooks: conversation_item_added, tool_execution_updated, function_tools_executed, and metrics_collected. Check how beta features and telemetry are structured in the repository before assessing the proposed collector and report schema. Done means a reviewable scope for the structured report, webhook behavior, and CRM payload builders; the issue says the author has already implemented a solution.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Feature Type
Nice to have
Feature Description
When building enterprise GTM voice agents (e.g., inbound sales discovery, lead qualification, or support bots), syncing post-call session data to systems of record (Salesforce, BigQuery) is a core requirement.
While LiveKit offers OpenTelemetry (for OTLP trace spans to SigNoz/Langfuse) and Server Webhooks (for room lifecycle events), there is currently a gap for developers who need a single, structured JSON document containing full transcripts + @function_tool execution records to send to business webhooks. Server webhooks do not contain transcripts or tool logs, and OpenTelemetry spans are split across micro-events designed for APM tools rather than CRM ingestion.
Describe the solution you'd like: Add a lightweight, opt-in PostCallTelemetryCollector and standardized PostCallReport schema to livekit.agents.beta.gtm_telemetry.
Placement note: The module lives in beta/ (the repo's established opt-in staging area for features like EndCallTool and workflows) rather than the top-level telemetry/ package, which is reserved for OTel/Cloud plumbing with private exports. This avoids expanding the stable public API surface before the feature graduates.
Key capabilities:
Automatically records transcript turns (via conversation_item_added), @function_tool executions (via tool_execution_updated + function_tools_executed — with self-timed latency, arguments, results, and errors), and session metrics (via metrics_collected).
Generates a clean, serializable PostCallReport JSON payload with float-epoch timestamps (matching the repo-wide created_at: float = Field(default_factory=time.time) convention — avoids the deprecated datetime.utcnow() and stays deterministic under the virtual-time test harness).
Built-in resilient webhook dispatcher with HMAC-SHA256 signing (X-LiveKit-Signature header) and exponential backoff (max 3 attempts, 5xx + network retries, no retry on 4xx).
Standardized adapters for HubSpot Engagements API & Salesforce Activity Tasks (pure payload builders — no network or CRM SDK dependencies).
How this complements existing LiveKit features:
Does not replace OpenTelemetry (OTel continues to trace micro-spans).
Does not replace Server Webhooks (Server webhooks continue handling room lifecycle).
Provides self-hosted and cloud users with an application-level GTM summary payload.
Works with or without a JobContext, on both the pipeline (STT→LLM→TTS) and real-time paths.
I have implemented a fully tested solution and am ready to submit a PR if this aligns with the framework roadmap!
Workarounds / Alternatives
No response
Additional Context
No response
- Lingua principale
- Python
- Stelle
- 14.6k
- Fork
- 3.9k
- Merge medio
- 2g 23h
- PR unite (30g)
- 177
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di livekit/agents
-
Assistant markup is stripped from chat history when expressive mode is offForse già presa @ShivamSharma43 l’ha presa 6 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
docs: openai.LLM vs openai.responses.LLM for HTTP OpenAI-compat hostsForse di nuovo libera @AbarnaaSree l’ha presa 45 giorni fa e non c’è nessuna pull request aperta. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
livekit/agents#7022 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Tool argument errors put the argument values in the log message body, outside `lk.pii.*`Forse già presa @Li-john1021 l’ha presa oggi. Aperta
Difficoltà 3/5 Mezza giornata Idoneità per principianti 25/100
livekit/agents#7801 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Google Realtime (Vertex AI): update_instructions() appends a model turn instead of replacing the system instructionForse già presa @Li-john1021 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 25/100
livekit/agents#7785 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
elevenlabs: text-to-dialogue (v3/v4) alignment timestamps are chunk-relative, breaking synced transcriptsForse già presa @satheeshk50 l’ha presa 1 giorno fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
livekit/agents#7773 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di livekit/agents
Issue simili
-
vis.image() reports "Unsupported number of image channels: 224" for an HxWxC imageForse già presa @piyush182004 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
fossasia/visdom#1997 · 3 commenti ·
I maintainer di solito rispondono entro 6 giorni
-
Byse new domainAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Gujal00/ResolveURL#1525 ·
I maintainer di solito rispondono entro 1 giorno
-
Serialisation fails with pydantic 2.14: wrap serialisers pass SerializationInfo as index_keyForse già presa @hugohills-regnosys l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
finos/rune-python-runtime#45 ·
-
[Bug]: LangGraph Store sync put bypasses namespace validationForse già presa @ktz03 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
volcengine/OpenViking#6050 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
hummingbot/condor#283 ·
I maintainer di solito rispondono entro 1 giorno