New-AzActionGroupReceiver How to Set Up Voice Calls as a New Action Group?

February 6, 2020

As per the Microsoft documentation, I should be able to set up Azure Monitor Action Group with voice mail. I can easily do that from the portal. I wanted to do the same with PowerShell. The following code works as expected while setting up email and SMS.

import-module Az.Monitor
#Setting up action group
$resourceGroupName = "sqlalertdemo"
$emailaddress = 'first.lastname@domainName.com'
$phoneNumber = '1234567890'
$emailDBA = New-AzActionGroupReceiver -Name 'emailDBA' -EmailAddress $emailaddress
$smsDBA = New-AzActionGroupReceiver -Name 'smsDBA' -SmsReceiver -CountryCode '1' -PhoneNumber $phoneNumber 

Set-AzActionGroup `
    -Name 'notifydbadeadlock' `
    -ResourceGroupName $resourceGroupName `
    -ShortName 'deadlock' `
    -Receiver $emailDBA,$smsDBA

When I add the code for the voicemail, I get an error message that parameters related to voicemail ‘cannot be found’.

$phoneDBA = New-AzActionGroupReceiver -Name 'phoneDBA' -VoiceCountryCode '1' -VoicePhoneNumber $phoneNumber -VoiceReceiver
New-AzActionGroupReceiver : A parameter cannot be found that matches parameter name 'VoiceCountryCode'. At line:1 char:56 + ... New-AzActionGroupReceiver -Name 'phoneDBA' -VoiceCountryCode '1' -Vo ... + ~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [New-AzActionGroupReceiver], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.Azure.Commands.Insights.ActionGroups.NewAzureRmActionGroupReceiverCommand

After searching online, I found numerous examples of the same code, but none was with voicemail set up. I submitted a question in StackOverflow. After two days, Ivan Yang responded with an answer. I needed PowerShell Version 6 (PowerShell Core) and Az.Monitor 1.5.0 version. After installing PowerShell Version 6.2.4, I was able to set up an action group with voicemail. See details in this StackExchange answer.

#Setting up action group
$resourceGroupName = "sqlalertdemo"
$emailaddress = 'abc@test.com'
$phoneNumber = 1234567890
$emailDBA = New-AzActionGroupReceiver -Name 'emailDBA' -EmailAddress $emailaddress
$smsDBA = New-AzActionGroupReceiver -Name 'smsDBA' -SmsReceiver -CountryCode '1' -PhoneNumber $phoneNumber 
$phoneDBA = New-AzActionGroupReceiver -Name 'phoneDBA' -VoiceReceiver -VoiceCountryCode '1' -VoicePhoneNumber $phoneNumber 

Set-AzActionGroup `
    -Name 'notifydbadeadlock' `
    -ResourceGroupName $resourceGroupName `
    -ShortName 'deadlock' `
    -Receiver $emailDBA,$smsDBA,$phoneDBA

One discrepancy I noticed between voicemail and the other two actions is the status column is empty. Whereas the other two mentions ‘Subscribed’. I do not what does that means. Checked documentation but unable to find anything.

My test works the same for all three, SMS, voice, and email.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.