Getting Voice Agent Call Data Out: Data Extraction & Webhooks

Edited

This article covers how to capture structured data from voice agent calls and how to pull that data into your own systems with webhooks.

Data extraction fields

Data extraction fields let Alpharun pull specific, structured values out of each call — for example a caller's stated goal, a confirmation, or a status. You configure these fields on the agent's Resources & outputs tab, and Alpharun populates them after the call by reading the transcript.

Extraction is calculated per customer interaction. If you want each call analyzed independently, make sure each call is its own interaction — see Voice Agent Calls Page Behavior for how call grouping works and how to split calls into their own rows.

Getting data out with webhooks

Webhooks let Alpharun notify your systems automatically as call data becomes available, so you don't have to poll or export manually.

Two things to get right for voice agents:

  • Subscribe to customer_interaction.updated. For a voice agent call, this is the event tied to data extraction fields being completed. Subscribing to it ensures you receive the payload once the extracted values are ready, rather than before.

  • Filter to voice agent events with the channel ID. Use the voice agent's channel ID to filter your webhook so you only receive events for voice agent calls, instead of every event across Alpharun.

Together, these give you a clean feed of just voice agent calls, delivered at the point where their extracted data is populated.

Frequently Asked Questions

When exactly does the extracted data become available? After the call, once Alpharun has processed the transcript and populated the fields. Subscribing to customer_interaction.updated is what tells you it's ready.

How do I avoid receiving events for non-voice-agent activity? Filter your webhook subscription using the voice agent's channel ID so only voice agent events come through.

Why am I only seeing one value per field across several calls? Those calls are probably grouped into one interaction. Split them into separate interactions if you need per-call values — see Voice Agent Calls Page Behavior.