From Bright Pattern Documentation
Jump to: navigation, search
• 5.19 • 5.3 • 5.8

Control Call Recordings and Get Status

During a call, it's possible that a party might provide sensitive information or say something that should not be stored in any way by your contact center. When such a call is being recorded, you can use the Embedded Agent Desktop API's recordings control methods to mute a recording, unmute a recording, start recording, and stop recording. In addition, you can get information about the status of a call recording, including whether the call is being recorded at all.

The following methods (with callbacks) are useful when used together:

This article will show you how to put those methods to use on a webpage on which your Agent Desktop widget is embedded.

Sample Code

In this sample code, the methods are attached to button elements.

Copy this sample code for pasting into your HTML file. This is the bare minimum that you need for the SDK to work. Make sure you replace "<tenant>" with the name of your Agent Desktop web server (e.g., "").

 <script type="text/javascript" src="https://<tenant>"> 
 <iframe id="repeater" style="position:absolute; right: 8px; width: 300px; height: 700px;" src="https://<tenant>"></iframe>
 <button onclick="bpspat.api.getState(log)">Get State</button>
 <input id="item" type="text" placeholder="Interaction Id, see Logs"/>
 <button onclick="bpspat.api.getCallRecordingStatus(document.getElementById('item').value)">Get Call Recording Status</button>
 <button onclick="bpspat.api.startCallRecording(document.getElementById('item').value)">Start Call Recording</button>
 <button onclick="bpspat.api.stopCallRecording(document.getElementById('item').value)">Stop Call Recording</button>
 <button onclick="bpspat.api.muteCallRecording(document.getElementById('item').value)">Mute Call Recording</button>
 <button onclick="bpspat.api.unmuteCallRecording(document.getElementById('item').value)">Unmute Call Recording</button>
 <div id="log">Logs...</div>
 <script type="text/javascript">
 function log(data) {
 let div = document.createElement("div");
 div.innerHTML = JSON.stringify(data);

Example Exercise

There are many ways to style your page elements and Agent Desktop widget display. The following is provided for example purposes only.

  1. Paste the sample code into the body of your HTML file. This is the bare minimum that you need for the SDK to work. Make sure you replace "<tenant>" with the name of your Agent Desktop web server.

  2. Save and open the page in your web browser. Make sure the agent is logged in and "Ready."

  3. A call comes in and the agent accepts it.

    Incoming call

  4. During the call, try clicking all the buttons:
    1. Get State will retrieve agent state and interaction data; copy the "item_id" from the logs and paste it into the "Interaction ID" field

      Interaction ID is "item_id"

    2. Get Call Recording Status will retrieve status and place it in the logs; this shows whether the call is being recorded and if it's muted (see the bottom of the example response shown)

      Incoming call

    3. Start Call Recording starts the recording

    4. Stop Call Recording stops the recording

    5. Mute Call Recording mutes the recording

    6. Unmute Call Recording unmutes the recording

  5. Note that only "Get State" and "Get Call Recording Status" provide a response in the logs.
    < Previous