Is it possible to export WebRTC media streams via Bulk Export API?

Is it possible to retrieve raw WebRTC media files through the standard Bulk Export API? Our legal discovery workflow requires strict chain of custody for all digital channels, but the current S3 integration seems to ignore softphone interactions.

  • Verified recording_export permissions in Architect flow; no media files appear in the destination bucket.
  • Checked audit trails for digital_channel interactions; metadata exists, but the actual audio payload is missing from the export job results.

It depends, but generally… the Bulk Export API does not directly serve raw WebRTC media streams because the platform processes these interactions through the Quality Management (QM) ingestion pipeline before they become available for export, meaning the recording_export permission alone is insufficient if the underlying recording infrastructure is not explicitly configured to capture and store softphone sessions. In our APAC environment with 15 BYOC trunks, we observed similar gaps where digital channel metadata appeared in audit logs but the actual audio payloads were missing from S3 buckets, which traced back to the recording settings in the specific site configuration rather than the export job itself. You must ensure that the include_webrtc flag is enabled within the recording settings for the relevant site or location, as Genesys Cloud treats WebRTC interactions differently from traditional SIP trunk recordings, often requiring explicit consent logging and separate storage policies. Additionally, verify that the S3 bucket policy allows the genesys-cloud-recording service principal to write objects with the specific content type audio/webm or audio/ogg, as some security groups block these MIME types by default. If the recordings are being ingested but not exported, check the export_schedule configuration in Architect to ensure it includes interaction_type: webrtc in the filter criteria, otherwise the job will silently skip these records. A common oversight is assuming that the presence of digital_channel metadata implies media capture, but without the corresponding recording_status: completed and media_uri populated in the interaction object, the export engine has no file to transfer. Try querying the /api/v2/quality/recordings endpoint directly for a known WebRTC interaction ID to confirm the media_uri exists; if it is null, the issue lies in the recording configuration, not the export API. Once the URI is populated, the Bulk Export job should automatically include the file in the next scheduled run, provided the retention period has not expired.