Re-using Response Group prompts in Teams

I’ve been continuing to migrate Skype for Business Response Groups over to Auto-Attendants/Call Queues in Microsoft teams, and thought I’d something I’d found out.

Many workflows in Skype for Business Response Groups have audio prompts. If the original audio file used isn’t available, as was the case with this client, it’s possible to download the file Skype is using. That can be from the response group interface or by exporting the configuration using PowerShell.

The problem I found was that I couldn’t then upload that file to Teams as it just produced an error message, even though it’s a WAV file.

Using the FFmpeg program it is possible to convert the WAV file exported from the response group into a version that is supported by Teams.

I’ve prepared a sample PowerShell script and function that will perform this and can be adapted to run against multiple files, hope it helps.

# Script start

# Set location of ffmpeg
$ffmpeg ="h:\ffmpeg.exe"

# Convert audio function Start
Function Convert-Audio{
    [CmdletBinding()]
    Param(  [Parameter(Mandatory=$True,Position=1)] [string]$path,
            [string]$Source = '.wav', #The source or input file format
            $rate = '192k', #The encoding bit rate
            $DeleteOriginal = $true)
$results = @()
Get-ChildItem -Path:$path -Include:"*$Source" -Recurse | ForEach-Object -Process: {
        $file = $_.Name.Replace($_.Extension,'.mp3')
        $input = $_.FullName
        $output = $_.DirectoryName
        $output = "$output\$file"
        $arguments = "-i `"$input`" -acodec libmp3lame `"$output`" -y"           
        #Hide the output
        $Status = Invoke-Expression "$ffmpeg $arguments 2>&1"
        $t = $Status[$Status.Length-2].ToString() + " " + $Status[$Status.Length-1].ToString()
        $results += $t.Replace("`n","")      
        #Delete the old file when finished if so requested
        if($DeleteOriginal -and $t.Replace("`n","").contains("%")) {
            Remove-Item -Path:$_
        }
    }
    if ($results) {
        return $results
    }
    else {
        return "No file wav files found"
    }
}
# Convert audio function end

Convert-Audio "PATH-TO-FILE.wav"

About the author