Define the fields you care about. After each call ends, an LLM reads the transcript and returns them as typed JSON — ready to write into your CRM, a spreadsheet, or your own systems. No listening back, no manual data entry.
A recording is not data. Neither is a transcript. Both still require a person to open them, read to the end, decide what happened, and type the answer into another system. At ten calls a day that is an annoyance. At a thousand it is a team — and one that quietly stops doing the job properly somewhere around the fourth hour.
What operations teams actually need from a finished call is a small number of specific answers. Did this lead have budget. What objection was raised. When did they say to call back. Should this account be escalated. Those answers are already in the conversation. Extraction is the step that gets them out in a form software can act on.
You define a template — a list of fields, each with a name, a type, and a plain-English description of what to look for. When a call ends, the transcript and that template go to an LLM, and what comes back is validated JSON keyed by your field names.
A lending team's template might be four fields: payment_intent as an enum of will_pay / needs_time / refuses / disputed, promise_to_pay_date as a date, escalation_required as a boolean, and call_summary as free text. Every call in that campaign then produces those four values, with the same shape every time, whether the borrower spoke Hindi or Tamil.
Templates belong to a workspace and can be pinned to a specific agent, so a collections campaign and an inbound support line extract completely different things without interfering with each other. They are versioned, so changing a field description does not silently rewrite the meaning of data you already collected.
Typed output means downstream systems can rely on it
Free text for summaries, objections, and anything that needs the caller's own words preserved.
Amounts, quantities, scores. Returned as a number, so you can sum and filter without parsing.
Yes/no decisions — escalation needed, consent given, callback requested.
A fixed set of values you define. Keeps dispositions consistent instead of drifting into 40 spellings of "interested".
Resolved against the agent's own timezone, so "tomorrow" and "the 16th" become real dates rather than guesses.
Multiple values from one call — every product mentioned, every objection raised.
This sounds like a detail and is not. Borrowers and customers almost never state a full date. They say "next Tuesday", "after the 15th", "end of the month". An extractor with no sense of when the call happened will confidently return a date in the wrong year, and you will not notice until a follow-up campaign fires three months late.
Every extraction is given a grounding block built from the calling agent's configured timezone before the transcript is read. Relative dates resolve against the day the call actually happened, in the timezone it happened in — not against the server's clock or the model's training cutoff.
Some fields are better captured live. If the agent needs to confirm a spelling or read back an account number, it collects that during the call as a tool call. Other fields — sentiment, summary, whether an objection was really an objection — can only be judged once the whole conversation exists.
Both paths write to the same field bag on the conversation. Your CRM sync, your dashboard and your export do not need to know which mechanism produced a given value, and you can move a field from one to the other without changing anything downstream.
The whole pipeline runs without anyone opening a dashboard
The conversation is transcribed and turned into an ordered set of messages.
Your field definitions, the transcript and a timezone-grounded date context go to the model.
Values are parsed against your declared types and stored on the conversation.
A webhook carries the extracted payload out, and any workflow listening for extracted data starts running.
Extraction defaults to Gemini 2.5 Flash at low temperature, which is the right trade for this job — the task is reading comprehension against a fixed schema, not creative writing. OpenAI and Anthropic models are selectable per template if you have a reason to prefer them.
If you would rather run extraction on your own LLM account, you can supply your own key at the workspace level. When your key serves the request, the extraction is not billed by us.
Every extraction records what it consumed: input tokens, output tokens, processing time and cost. That is visible per call rather than rolled into an opaque platform fee, so you can see exactly what a schema change did to your unit economics before rolling it across a campaign.
A single-provider extraction pipeline fails whenever that provider does. Ours falls through a chain — your own key first if you supplied one, then the platform Gemini path, then a second Gemini backend, then an OpenAI model as a last resort. A stale customer key or a rate-limited region degrades the run instead of losing the data.
Extractions can also be re-run against calls that already happened. If you add a field next month, you can apply the new template to last month's conversations rather than accepting a hole in the data.
The extracted fields are the starting point, not the deliverable
Budget, authority, timeline and intent as fields your sales team can filter on.
Write call outcomes straight back to HubSpot or Salesforce without a rep retyping them.
Append one row per call. The fastest way to see whether a schema is right.
Disposition judged from the whole conversation, not a keyword list.
Webhooks, typed payloads and re-runs for teams building their own pipeline.
How a configurable schema differs from a fixed set of prebuilt operators.
A transcript tells you what was said; extraction tells you what it meant in the terms you defined. A transcript still needs a human to read it and decide the outcome. Extraction returns that outcome as a typed field — an enum, a date, a boolean — that software can route on without anyone reading anything.
Quality scoring evaluates the agent: did they follow the script, were they polite, did they disclose what they had to. Extraction captures the business facts of the call: what the customer wants, what they committed to, what happens next. Most teams that run both use quality scoring for coaching and extraction for operations.
The same set the voice agents run in — over 80 language configurations including Hindi, Bengali, Tamil, Telugu, Marathi, Gujarati, Kannada, Malayalam, Odia, Punjabi and Urdu, alongside English, Spanish, Arabic, French, German and more. The extracted field names and enum values stay in your schema's language, so a Tamil call and an English call produce the same shape of record.
Yes. A template can be scoped to the whole workspace or pinned to one agent. A collections campaign and an inbound support line can run completely different schemas at the same time without interfering.
Fields carry a description and an optional hint that steer the model, and enums constrain it to values you allow. Extractions can be re-run on past conversations after you tighten a definition, so a bad schema is recoverable rather than baked into your history.
Recordings and transcripts are retained so extraction can be re-run and disputes can be evidenced. Retention is configurable, and extraction can run against a re-transcription rather than the stored messages when you need it to.
Yes. Supply a workspace-level key and extraction runs on your account, unbilled by us. If that key fails for any reason, the platform chain takes over so you do not lose the data.
Extraction runs as part of post-call processing, so fields are typically on the conversation within seconds of the call ending, and the webhook and any listening workflow fire immediately after.
Define a handful of fields, run a campaign, and see what comes back. You can change the schema and re-run it on the same calls.
Every business is unique. Let's discuss your specific needs and create a pricing plan that works for you.
Custom pricing based on your needs
No hidden fees or surprises
Flexible payment options
Volume discounts available
Free consultation & demo
30-day money-back guarantee
Our team will get back to you within 24 hours with a personalized pricing proposal
Or reach out directly:
Trusted by businesses worldwide