Portal Community

Minimal Example

{
  "id": "call-recording",
  "type": "audio",
  "label": "Call Recording",
  "width": "full",
  "settings": {
    "src": "https://cdn.example.com/recordings/call-20250115.mp3",
    "controls": true
  }
}

Settings Reference

SettingTypeDefaultDescription
srcstringAudio file URL. Supports template expressions: {{context.recording.url}}
controlsbooleantrueShow browser native audio controls (play/pause, seek, volume)
autoplaybooleanfalseStart playing on load. Most browsers block autoplay with sound — use with caution
mutedbooleanfalseStart muted
loopbooleanfalseLoop audio continuously
preloadnone | metadata | autononeAudio preload strategy. Use none to avoid bandwidth consumption on long recordings
widthstring (CSS)"100%"Player bar width

Dynamic Source from Context

{
  "id": "qa-recording",
  "type": "audio",
  "label": "Support Call",
  "settings": {
    "src": "{{context.ticket.recordingUrl}}",
    "controls": true,
    "preload": "metadata"
  }
}

Call QA Review Form Pattern

A common pattern is a quality assurance form where a reviewer listens to a call recording and then fills in a score sheet:

// 1. Audio player at the top
{
  "id": "call-audio",
  "type": "audio",
  "label": "Call Recording — {{context.call.id}}",
  "width": "full",
  "settings": {
    "src": "{{context.call.recordingUrl}}",
    "controls": true,
    "preload": "metadata"
  }
},

// 2. Score sheet below
{
  "id": "tone-score",
  "type": "radio",
  "label": "Agent Tone",
  "settings": {
    "options": [
      { "value": "1", "label": "Poor" },
      { "value": "2", "label": "Below Average" },
      { "value": "3", "label": "Average" },
      { "value": "4", "label": "Good" },
      { "value": "5", "label": "Excellent" }
    ],
    "layout": "row"
  }
},
{
  "id": "resolution-score",
  "type": "radio",
  "label": "Issue Resolution",
  "settings": {
    "options": [
      { "value": "pass", "label": "Resolved" },
      { "value": "partial", "label": "Partial" },
      { "value": "fail", "label": "Not Resolved" }
    ],
    "layout": "row"
  }
}

Supported Formats

FormatMIME TypeBrowser Support
MP3audio/mpegAll modern browsers
WAVaudio/wavAll modern browsers
OGG Vorbisaudio/oggChrome, Firefox (not Safari)
AAC / M4Aaudio/aacChrome, Safari, Edge
WebM audioaudio/webmChrome, Firefox
Preload Strategy Default preload: "none" avoids loading audio data until the user presses play. For short clips (under 60 seconds) where immediate playback is expected, use preload: "auto". For long recordings (30+ minutes), always use "none" to avoid consuming the user's bandwidth unnecessarily.