Call2Me
Developers

vCon export: take your call data out in an IETF standard

Export any completed call as an IETF vCon container — parties, dialog (transcript + recording reference) and analysis (summary, sentiment, extraction) in one portable JSON file. Opt-in per agent.

Updated July 29, 2026

Call2Me can emit any completed call as an IETF vCon container (draft-ietf-vcon-vcon-container) — a portable, self-contained record of a conversation.

Nothing new is captured. A call already produces the substance of a vCon: participants, a turn-by-turn transcript, a recording, post-call analysis. The export repackages that record into the standard container, so the conversation can leave Call2Me without a custom integration on the other side.

See a real export → (synthetic appointment-booking call, no real customer data)

Endpoint

GET /v1/calls/{call_id}/vcon

Returns application/json. Two conditions must hold: the call belongs to the authenticated workspace, and vCon export is enabled on the call's agent.

curl https://api.call2me.app/v1/calls/call_abc123/vcon \
  -H "Authorization: Bearer $CALL2ME_API_KEY" \
  -o call_abc123.vcon.json

In the dashboard the same file is one click: open Calls, and completed calls from a vCon-enabled agent carry a download icon.

Opt-in, off by default

Export is disabled until you turn it on for a specific agent — existing behaviour is unchanged for every other agent. Enable it on the agent's detail page in the dashboard.

While export is disabled the endpoint answers 404 rather than 403. That is deliberate: a "forbidden" response would confirm that the call exists, and a call id should not be a probe for whether a conversation happened.

What maps to what

vConSource
parties[0] (role: agent)agent name + the Call2Me-side number
parties[1] (role: customer)the remote party's number
dialog[] type: textthe transcript, speaker-attributed
dialog[] type: recordingthe recording URL, when a recording exists
dialog[] type: incompleteunanswered or failed calls, with a disposition
analysis transcriptstructured turns, JSON encoded
analysis summary / sentimentpost-call analysis
analysis extractionyour custom extraction fields, with the agent's schema referenced

The uuid is derived deterministically from the call id, so re-exporting a call yields the same vCon identity instead of a new one.

Why a standard, not a bespoke payload

Call data has a long life after the call: quality review, compliance archives, CRM enrichment, model evaluation. Every one of those normally costs a custom exporter written against a vendor's private JSON shape — and that work is thrown away when the vendor changes.

A vCon shifts that cost. The receiving system parses a documented container it may already understand, and the same file carries the recording reference, the transcript and the analysis together rather than as three loosely related artefacts.

Not implemented yet

Being explicit about the edges of the implementation:

  • JWS signing / JWE encryption wrappers — the container is emitted unsigned and unencrypted.
  • The consent attachment — tracked separately; consent deserves to be modelled properly rather than approximated.
  • vCon ingest — reading vCons produced by other systems.
  • Bulk export and webhook delivery — export is per call, on request.

Frequently asked

Q.What is a vCon?

A vCon (virtualized conversation) is an IETF container format for conversation data. It packages who took part, what was said, any recording, and any analysis derived from it into a single self-contained JSON document, so a conversation can move between systems without a bespoke integration. Call2Me implements draft-ietf-vcon-vcon-container.

Q.Does Call2Me export every call as a vCon automatically?

No. vCon export is off by default and enabled per agent. While it is disabled the endpoint answers 404, so it never reveals whether a call exists. Turn it on for the agents whose calls you want to export.

Q.Does enabling vCon export change what Call2Me records?

No. Nothing new is captured. A call already produces participants, a turn-by-turn transcript, an optional recording and post-call analysis; the export repackages that existing record into the standard container.

Q.Is the recording embedded in the vCon file?

No — the dialog entry references the recording by URL rather than inlining the audio. That keeps the JSON small and lets your storage and retention rules stay in charge of the media.

Q.Can I re-export the same call?

Yes. The vCon uuid is derived deterministically from the call id, so re-exporting a call produces the same vCon identity rather than a new one.

ShareX / TwitterLinkedIn

Ready to ship?

Spin up your first agent in 5 minutes — $5 free credit.

Build your voice agent in 10 minutes

No code. No credit card. Just a phone number.

Get Started FreeTalk to Sales
Try the voice agent liveLive Demo