Callback in Microsoft Teams Call Queues

Calling in Microsoft Teams is evolving as it is a cloud services (SaaS) more and more. Now there are exciting news regarding Teams Call Queues (CQs) which are commonly used for routing calls to several people (agents) within an organization. Until now calls could be routed to a CQ (“group of people” or “group of agents”) but there was no straightforward way for figuring out who or which number called and was missed in order to call back. There were options but they were more a compilation of workarounds to achieve the goal, in my opinion, if no third-party software or service was in place, e.g. contact center (CX) or lightweight reporting and call “monitoring”.

Finally, Microsoft addressed this with two major features. The first one is the Teams Queue App and the second is the hereinafter explained call back feature. In this post I provide you with a current overview and summary of the callback feature.

What is callback in Microsoft Teams Call Queues?

Callback is a feature that offers callers in a queue the option to receive a callback instead of waiting on hold. Callers become eligible for this feature when they meet specific conditions such as exceeding a set wait time, the number of calls in the queue reaching a configured limit, or the number of calls surpassing the calls-to-agent ratio.

The callback function only applies to new callers entering the queue, and a valid phone number in E.164 format is required for the process to be triggered. Once the music on hold finishes, eligible callers are presented with the option to request a callback. If the request is successful, the callback remains active until an agent is available. If the callback times out a notification is sent to the configured email notification address.

The interplay between callback and call queue timeout is important. If the timeout is set too low, callers may never be offered a callback because the call ends before the music finishes playing. Ensuring the call timeout is long enough is crucial for the success of the callback system.

So, for callback time out configuration based on the current documentation it is stated that the Call Queue default music is 120 seconds. To make callback work you need to make the suited configuration as mentioned above. For example a CQ could be configured like this:

  • Callback wait time in queue: 60 seconds
  • Call Queue Timeout: 120 seconds
  • Call Queue Music: Custom music (maybe a shorter one, e.g. just 30 seconds)

Prerequisites and Requirements

  • A valid inbound phone number in E.164 format.
  • Call queue timeout settings must allow enough time for music to finish before a callback can be requested.
  • Call queue music duration and timeout must be configured properly for successful callback functionality.
  • Conference mode must be configured for call queue(s)
  • Configuration must be completed by using Power Shell (with a current Teams PowerShell Module)

Teams PowerShell Cmdlets and parameters to configure callback

Two existing cmdlets can be used to create or modify a Teams Call Queue including callback.

Please note before you begin, that if you make any changes to the CQ via Teams Admin Center after enabling callback via PowerShell, the callback configuration will be vanished and erased! It is also explicitly mentioned in the documentation!
Set-CsCallQueue ...

or for new ones:

New-CsCallQueue ...

with the following parameters:

ParameterParameter Explanation
-IsCallbackEnabledEnable/Disable callback feature
-CallbackRequestDtmfKey for requesting a callback
-WaitTimeBeforeOfferingCallbackInSecondTime in seconds before offering a callback
-NumberOfCallsInQueueBeforeOfferingCallbackNumber of calls in queue before offering a callback
-CallToAgentRatioThresholdBeforeOfferingCallbackRatio of calls to agents before offering a callback
-CallbackOfferAudioFilePromptResourceIdAudio prompt for callback offer
-CallbackOfferTextToSpeechPromptText-to-speech prompt for callback offer
-CallbackEmailNotificationTargetEmail address for callback failure notifications

Examples (based on Microsoft’s documentation)

In the current Teams Call Queue documentation regarding callback a few examples are mentioned as you can see in the following table.

ScenarioCreate New Call QueueModify Existing Call Queue
Calls eligible after 60 secondsNew-CsCallQueue -Name “Callback Eligible After 60 seconds” -UseDefaultMusicOnHold $true -LanguageID en-US -IsCallbackEnabled $true -CallbackRequestDtmf “Tone1” -WaitTimeBeforeOfferingCallbackInSecond 60 -CallbackOfferTextToSpeechPrompt “If you would like to have a callback when an agent becomes available, press 1” -CallbackEmailNotificationTarget <Team or DL GUID>Set-CsCallQueue -Identity <Call Queue GUID> -IsCallbackEnabled $true -CallbackRequestDtmf “Tone1” -WaitTimeBeforeOfferingCallbackInSecond 60 -CallbackOfferTextToSpeechPrompt “If you would like to have a callback when an agent becomes available, press 1” -CallbackEmailNotificationTarget <Team or DL GUID>
Calls eligible after 50 calls in queueNew-CsCallQueue -Name “Callback Eligible After 50 calls” -UseDefaultMusicOnHold $true -LanguageID en-US -IsCallbackEnabled $true -CallbackRequestDtmf “Tone1” -NumberOfCallsInQueueBeforeOfferingCallback 50 -CallbackOfferTextToSpeechPrompt “If you would like to have a callback when an agent becomes available, press 1” -CallbackEmailNotificationTarget <Team or DL GUID>Set-CsCallQueue -Identity <Call Queue GUID> -IsCallbackEnabled $true -CallbackRequestDtmf “Tone1” -NumberOfCallsInQueueBeforeOfferingCallback 50 -CallbackOfferTextToSpeechPrompt “If you would like to have a callback when an agent becomes available, press 1” -CallbackEmailNotificationTarget <Team or DL GUID>
Calls eligible after 2x calls to agentsNew-CsCallQueue -Name “Callback Eligible After 2x calls to agents” -UseDefaultMusicOnHold $true -LanguageID en-US -IsCallbackEnabled $true -CallbackRequestDtmf “Tone1” -CallToAgentRatioThresholdBeforeOfferingCallback 2 -CallbackOfferTextToSpeechPrompt “If you would like to have a callback when an agent becomes available, press 1” -CallbackEmailNotificationTarget <Team or DL GUID>Set-CsCallQueue -Identity <Call Queue GUID> -IsCallbackEnabled $true -CallbackRequestDtmf “Tone1” -CallToAgentRatioThresholdBeforeOfferingCallback 2 -CallbackOfferTextToSpeechPrompt “If you would like to have a callback when an agent becomes available, press 1” -CallbackEmailNotificationTarget <Team or DL GUID>
Calls eligible after 60 seconds or 50 calls in queueNew-CsCallQueue -Name “Callback Eligible After 60s or 50 calls” -UseDefaultMusicOnHold $true -LanguageID en-US -IsCallbackEnabled $true -CallbackRequestDtmf “Tone1” -WaitTimeBeforeOfferingCallbackInSecond 60 -NumberOfCallsInQueueBeforeOfferingCallback 50 -CallbackOfferTextToSpeechPrompt “If you would like to have a callback when an agent becomes available, press 1” -CallbackEmailNotificationTarget <Team or DL GUID>Set-CsCallQueue -Identity <Call Queue GUID> -IsCallbackEnabled $true -CallbackRequestDtmf “Tone1” -WaitTimeBeforeOfferingCallbackInSecond 60 -NumberOfCallsInQueueBeforeOfferingCallback 50 -CallbackOfferTextToSpeechPrompt “If you would like to have a callback when an agent becomes available, press 1” -CallbackEmailNotificationTarget <Team or DL GUID>

Conclusion, opinion and summary

In summary, the callback feature can significantly enhance customer experience by reducing time spent on hold. Proper configuration of call queue timeout, wait time, and music duration is essential for smooth operation. By allowing callers to request a callback when an agent is unavailable, businesses can manage high call volumes more effectively while keeping customers satisfied. However, improper timeout settings can lead to missed callback opportunities, so careful attention to configuration is crucial.

In my opinion, to implement callback can improve customer service efficiency, but its success hinges on meticulous queue and timeout management. Ensuring callers receive a seamless experience requires thoughtful planning and ongoing adjustments. I’m really excited that this is now natively possible in Teams Call Queues especially for organizations and people only using Teams calling capabilities.

Resources


Discover more from erik365.blog

Subscribe to get the latest posts sent to your email.

Comment / Kommentar verfassen

I’m Erik

Welcome to Erik’s blog, your go-to space for curated updates and insights on Microsoft Teams, Copilot, and Microsoft 365. Join me as we explore the latest developments, share valuable information, and spread knowledge. This blog not only serves as a source of news but also as my personal collection of notes, openly shared with you all. Let’s elevate teamwork and productivity together!

Let’s connect