Use Case - Sending Voicemails to SMS

Send Voicemail transcriptions to SMS for on-call Agents

In this Use Case, we are going to create a Nimbus workflow and Power Automate flow which will do the following:

  • Check the Opening Hours when a call is received. If it is out-of-hours, divert to a Teams voicemail Service.
  • If a Teams voicemail is left, the voicemail is transcribed and distributed to Agents via group email.
  • When the group email is received, Power Automate triggers to collect the voicemail transcription.
  • Power Automate will check who the on-call Agent is from a SharePoint list.
  • Send the transcription of the call to the on-call Agent.

PRECONDITIONS

  • A "Teams Voice" License applied to your Service, so outbound PSTN Calls can be made. This license is applied via Microsoft PowerShell script and runs with enant Admin privileges.
  • Power Automate "Premium". → See Nimbus Power Automate Connector preconditions.
  • SharePoint (for creating and storing “On-call Agent ” lists.
  • 3rd party SMS sender such as Twilio or Azure Communication Services.
 

INC Icon Legend Accordion

Show Icon Legend

💡 = A hint to signal learnings, improvements or useful information in context. 🔍 = Info points out essential notes or related page in context.
☝ = Notifies you about fallacies and tricky parts that help avoid problems. 🤔 = Asks and answers common questions and troubleshooting points.
❌ = Warns you of actions with irreversible / data-destructive consequence. ✅ = Intructs you to perform a certain (prerequired) action to complete a related step.
 
 

Create the Workflow 

  1. Go to Configuration  > Workflows and click “Create New”.  
  2. Select the Workflow type Audio/Video and click “Next”.
  3. Give your workflow a name that is easy to identify in a large list of workflows.
  4. Pick the Organization Unit  determining where your workflow is going to be placed. 

Add Routing to the Workflow

  1. Start with the “Accept” activity.
  2. Then add a “Check Opening Hours activity. 
  3. From the Closed option, add a “Transfer”  Workflow Activity.
    💡Don't forget to route other Opening Hour cases too so your Workflow has no possibility to get stuck when the Opening Hours calendar changes.
  4. In the “Transfer” activity, set the destination as “External”, and enter the PSTN number of a Teams Auto Attendant.
    💡This is why your Service requires a “Teams Voice” license in order to make calls.
  5. Select “Leave Nimbus”

Prepare the Teams Auto Attendant

✅ You will need to have a Teams Auto attendant with PSTN number set up. → See Set up a Microsoft Teams Auto attendant | Microsoft Learn for  more details details.

  1. Navigate in Teams Admin Centre > Auto Attendant admin page. 
  2. Select the Auto Attendant, and amend the call flow details.
    1. Add an optional greeting. 
    2. Under Call Routing  select Redirect Call 
    3. Select Voicemail
    4. ⮑ This enables an selection where you can specify an office 365 group to receive the voicemail 
  3. ENSURE TRANSCRIPTION IS ENABLED 
Auto Attendant Call Flow setup

Configure Outlook settings

Configure Outlook settings 

✅ Ensure the account that is accessing the Outlook Mailbox in Power Automate, is subscribed to the Voicemail 

  1. Using the relevant account, go to and log into https://outlook.office.com/mail 
  2. Select “Go to Groups” 
  3. Select the Group that you are routing the voicemails to (same as when you prepared Auto Attendant above)
  4. Select “Settings”
  5. Ensure the User is set to “Receive all emails and events”
 
 

Prepare the SharePoint On-Call List

Prepare the SharePoint On-Call List

  1. In SharePoint, Create a list for your “On-call Agents”.
  2. Add columns labelled Mobile, sendsms
  3. Important: Both the Mobile column and sendsms must be of type “text”.
  4. Add the following data: 
    1. The Agent's name to the title column,
    2. Their mobile number to the mobile column,
    3. … and yes/no to determine if they should receive an sms message in the sendsms column.
Example list entry
 
 

Create the Power Automate Flow

  1. Create a new Automated clow flow. 
  2. Select “When a new email arrives (V3) ” action 
  3. in the outlook action select the mailbox that the voicemails are being routed to  for the TO filter 
  4. and a subject filter of “Shared Voicemail” and Folder “Inbox”
  5. Add  2 Initialize Variables steps,
    1. Name messagetext, type = String
    2. Name standby numbers, Type = array
  6. Add an HTML to text action. and add the Body of the email as the content 
  7. Add a Set Variable action,  Name = messagetext, value = OUtput from the HTML to Text action.
  8. Add a SharePoint Get Items  action  Select the site address, and List name of the List you created. 
    1. Define the Filter Query of sendsms eq ‘yes’
  9. Add an Apply to Each action, and add an “Append to Array” variable, 
    1. Name = standby numbers 
    2. Value = Mobile from the sharepoint get action
  10. Add an Apply to each Action, and add your sms sender, ( in this example we will use Twilio)
    1. Set your “From Phone Number” , to be the number you wish the SMS to be sent from
    2. Add the “To Phone Number", as the output from the Apply to each. 
    3. Set the text as the messagetext variable
 
 

 

Table of Contents