OfficeDev / microsoft-teams-apps-call-queue-scheduler

Microsoft Teams Call Queue Manager app template
https://github.com/OfficeDev/microsoft-teams-apps-call-queue-scheduler/wiki
MIT License
15 stars 4 forks source link
automation callqueue microsoft microsoftteams powerapps powershell teams

Microsoft Teams Call Queue Scheduler

Solution overview Deployment guide Configuration guide FAQ Support

This application allows a delegated administrator to manage the active agents for a Microsoft Teams Call Queue in real-time and/or through a defined shift schedule.

Microsoft Teams Call Queue Scheduler screenshot(https://youtu.be/KQBKjXQ8_mY)

About this application

The Teams Admin Center (TAC) and PowerShell are the two admin interfaces to manage Call Queues. While both allow for an admin to full managability a Call Queue, this application has been developed to fill the following gaps:

This application provides the following capability:

This application works by manipulating the list of named agents in a Call Queue. This application does NOT support agents defined as part of a group or a Team channel. Since this application leverages named agents, the number of agents that can be active in the queue at the same time is limited to 20. The number of agents that could be potentially added to the queue can be much greater.

The people picker presented in the app shows all the users in your organization. Due to our API limitation we cannot filter the users to show only those with enterprise voice enabled. Adding agents will be successful only if the selecter user(s) are enterprise voice enabled. You will not see any error thrown if the user is not enterprise voice enabled and you attempt to add them as an agent.

See Step 3: Set up who will answer incoming calls here for detail on the different ways agents can be defined to answer calls.

Note: This is a sample application. It does not have robust error handling to accomodate all exceptions. This includes error handling to account for the case where the 21st or greater agent is added to the queue, or to handle situations involving groups or Teams channels.

The architecture of this solution can be adapted to support other scenarios that require delegated admin management of Teams phone system or any other feature accessible via PowerShell cmdlet or even MS Graph API.

Here is the application running in Microsoft Teams

Microsoft Teams Call Queue Scheduler screenshot

If you want to start using the solution yourself review the Wiki for the deployment and configuration steps.

Cost Estimates

This is a costs estimates based on the public pricelist of January 2023. They do not include the costs for Office 365 & Microsoft Teams.

All prices are provided for information only. Service Estimated usage Unit price Estimated cost / month
Power Platform 20 admins (Premium connector) $5 per user/app/month $100
Azure App Service plan EP1 SKU (1 core, 3.5GB RAM, 250GB storage) $49.98 per instance/month $50
Azure (other services) storage and keyvault request based on capacity (GB) & # requests <$1
Total estimated $150

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

Legal Notice

This app template is provided under the MIT License terms.  In addition to these terms, by using this app template you agree to the following: