Change the gender of an existing Auto Attendant

Occasional Contributor

Is there a way to switch the gender of an existing Auto Attendant? Looking at the Get-CSAutoAttendant, it shows that the VoiceID is set to Male. The client would like it to be female. Looked at Set-CSAutoAttendant and Update-CSAutoAttendant, but neither allows for that particular parameter. Does anyone know how this might be done?

8 Replies
I was able to change it using this

$autoAttendant=Get-CsAutoAttendant
$autoAttendant.voiceid = "Female"
Set-CsAutoAttendant -Instance $autoAttendant
I tried this but voiceID does not show as one of the available options in $autoAttendant.voiceid = "Female"
What does it show currently if you show the current value?

$autoAttendant.voiceid
PS C:\temp\Scripts> $autoAttendant=Get-CsAutoAttendant
PS C:\temp\Scripts> $autoAttendant.voiceid = "Female"
The property 'voiceid' cannot be found on this object. Verify that the property exists and can be set.
At line:1 char:1
+ $autoAttendant.voiceid = "Female"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : PropertyAssignmentException

PS C:\temp\Scripts> $autoAttendant.voiceid
Female
Male

It does accept this below but the set-csautoattendant command also fails:


PS C:\temp\Scripts> $autoAttendant.voiceid.Female
PS C:\temp\Scripts> Set-CsAutoAttendant -Instance $autoAttendant
Set-CsAutoAttendant : Cannot process argument transformation on parameter 'Identity'. Cannot convert value to type
System.String.
At C:\Program Files\WindowsPowerShell\Modules\MicrosoftTeams\4.7.0\custom\Merged_custom_PsExt.ps1:7240 char:94
+ ... igAPI.Cmdlets.internal\Set-CsAutoAttendant @PSBoundParameters @httpPi ...
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Set-CsAutoAttendant], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ParameterArgumentTransformationError,Set-CsAutoAttendant

What are the properties/settings of the current $autoAttendant ?
Added the Identity of AA where we want to make changes and it works for me:

$autoAttendant=Get-CsAutoAttendant -Identity 706118-38bd-41ed-bb25-b558eaffdce3
$autoAttendant.VoiceID = "Female"
Set-CsAutoAttendant -Instance $autoAttendant
Thank you, this worked for me as well

Does anyone know why the English US voice gender is male for Auto Attendants and female for Call Queues?  Or more importantly, how might we change this default behaviour for all future call flows?
Do we really need to resort to PowerShell for each and every US English call flow to create consistency?