{"id":5867,"date":"2025-09-08T08:23:58","date_gmt":"2025-09-08T06:23:58","guid":{"rendered":"https:\/\/www.msb365.blog\/?p=5867"},"modified":"2025-09-08T08:23:58","modified_gmt":"2025-09-08T06:23:58","slug":"microsoft-teams-presence-portal","status":"publish","type":"post","link":"https:\/\/www.msb365.blog\/?p=5867","title":{"rendered":"Microsoft Teams Presence Portal"},"content":{"rendered":"<p>&nbsp;<\/p>\n<style>\n        body {<br \/>            font-family: Arial, sans-serif;<br \/>            line-height: 1.6;<br \/>            margin: 0;<br \/>            padding: 20px;<br \/>            max-width: 800px;<br \/>            margin-left: auto;<br \/>            margin-right: auto;<br \/>        }<br \/>        h1, h2, h3 {<br \/>            color: #333;<br \/>        }<br \/>        a {<br \/>            color: #0078d4;<br \/>            text-decoration: none;<br \/>        }<br \/>        a:hover {<br \/>            text-decoration: underline;<br \/>        }<br \/>        pre {<br \/>            background: #f4f4f4;<br \/>            padding: 10px;<br \/>            border-radius: 5px;<br \/>            overflow-x: auto;<br \/>        }<br \/>        code {<br \/>            font-family: Consolas, monospace;<br \/>        }<br \/>        .section {<br \/>            margin-bottom: 20px;<br \/>        }<br \/>    <\/style>\n<p>&nbsp;<\/p>\n<h1>Introducing the Microsoft Teams Presence Dashboard<\/h1>\n<p>I\u2019m excited to announce the release of the <strong>Microsoft Teams Presence Dashboard<\/strong>, a powerful tool designed to help organizations monitor the presence status of users within their Microsoft 365 tenant. This open-source tool is now available for download on GitHub at <a href=\"https:\/\/github.com\/MSB365\/TeamsPresenceDashboard\/blob\/main\/README.md\">MSB365\/TeamsPresenceDashboard<\/a>.<\/p>\n<div class=\"section\">\n<h2>What is the Teams Presence Dashboard?<\/h2>\n<p>The Microsoft Teams Presence Dashboard allows company admins and authorized users to view the real-time presence status of users in their Microsoft 365 tenant. Whether a user is Available, Busy, In a Meeting, or Offline, this tool provides a centralized way to monitor Teams activity. It\u2019s perfect for IT administrators or team leads who need visibility into their workforce\u2019s availability.<\/p>\n<p>The dashboard is designed to be deployed on your own Azure instance, giving you full control over the setup and ensuring compliance with your organization\u2019s security policies.<\/p>\n<\/div>\n<div class=\"section\">\n<h2>Key Features<\/h2>\n<ul>\n<li>Real-time monitoring of Microsoft Teams presence status.<\/li>\n<li>Easy deployment on your Azure instance.<\/li>\n<li>Secure access through Entra ID app registration and Microsoft Graph permissions.<\/li>\n<li>Customizable for your organization\u2019s needs.<\/li>\n<\/ul>\n<\/div>\n<table>\n<tbody>\n<tr>\n<td width=\"301\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-5868\" src=\"https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/03\/TPS_01.png\" alt=\"\" width=\"528\" height=\"593\" srcset=\"https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/03\/TPS_01.png 528w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/03\/TPS_01-267x300.png 267w\" sizes=\"(max-width: 528px) 100vw, 528px\" \/><\/td>\n<td width=\"301\">In my example, the portal looks like this: Here is the login screen<\/td>\n<\/tr>\n<tr>\n<td width=\"301\"><img decoding=\"async\" class=\"alignnone size-large wp-image-5869\" src=\"https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/03\/TPS_02-1024x613.png\" alt=\"\" width=\"1024\" height=\"613\" srcset=\"https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/03\/TPS_02-1024x613.png 1024w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/03\/TPS_02-300x180.png 300w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/03\/TPS_02-768x460.png 768w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/03\/TPS_02-1536x920.png 1536w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/03\/TPS_02-1320x791.png 1320w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/03\/TPS_02.png 1559w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/td>\n<td width=\"301\">After the login screen, we see a complete overview of all users in the tenant. This can, of course, be filtered according to your own requirements.<\/td>\n<\/tr>\n<tr>\n<td width=\"301\"><img decoding=\"async\" class=\"alignnone size-full wp-image-5870\" src=\"https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/03\/TPS_03.png\" alt=\"\" width=\"685\" height=\"525\" srcset=\"https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/03\/TPS_03.png 685w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/03\/TPS_03-300x230.png 300w\" sizes=\"(max-width: 685px) 100vw, 685px\" \/><\/td>\n<td width=\"301\">Here is a detailed view of a user.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"section\">\n<h2>Getting Started: Portal Setup Guide<\/h2>\n<p>Below is the documentation to help you set up the Teams Presence Dashboard in your environment.<\/p>\n<h3>Introduction<\/h3>\n<p>This guide will walk you through the process of setting up the portal by creating an App Registration in Entra ID with the necessary Microsoft Graph permissions.<\/p>\n<h3>Prerequisites<\/h3>\n<p>Before you begin, ensure you have:<\/p>\n<ul>\n<li>An Entra ID account.<\/li>\n<li>Admin access to create App Registrations.<\/li>\n<li>A Microsoft Azure account with admin access.<\/li>\n<li>A Microsoft 365 subscription with Teams enabled.<\/li>\n<li>Node.js (v18 or later) installed.<\/li>\n<li>npm or yarn package manager.<\/li>\n<\/ul>\n<h3>Steps to Create App Registration<\/h3>\n<ol>\n<li><strong>Sign in to Entra ID<\/strong>\n<ul>\n<li>Go to the <a href=\"https:\/\/portal.azure.com\">Entra ID portal<\/a>.<\/li>\n<li>Sign in with your admin credentials.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Create a New App Registration<\/strong>\n<ul>\n<li>Navigate to <strong>App registrations<\/strong>.<\/li>\n<li>Click on <strong>New registration<\/strong>.<\/li>\n<li>Enter a name for your app (e.g., &#8220;PortalApp&#8221;).<\/li>\n<li>Choose the supported account types (e.g., single tenant for your organization).<\/li>\n<li>Enter the redirect URI if applicable (e.g., for web applications).<\/li>\n<li>Click <strong>Register<\/strong>.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Configure API Permissions<\/strong>\n<ul>\n<li>After registration, go to <strong>API permissions<\/strong>.<\/li>\n<li>Click on <strong>Add a permission<\/strong>.<\/li>\n<li>Select <strong>Microsoft Graph<\/strong>.<\/li>\n<li>Choose the following permissions:\n<ul>\n<li>User.Read<\/li>\n<li>User.Read.All<\/li>\n<li>User.ReadBasic.All<\/li>\n<li>Presence.Read.All<\/li>\n<li>Directory.Read.All<\/li>\n<li>ProfilePhoto.ReadWrite.All<\/li>\n<\/ul>\n<\/li>\n<li>Click <strong>Add permissions<\/strong>.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Grant Admin Consent<\/strong>\n<ul>\n<li>Click on <strong>Grant admin consent for [Your Organization]<\/strong>.<\/li>\n<li>Confirm the action.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>Next Steps<\/h3>\n<p>To make the application work, you will need the <strong>Client ID<\/strong> and <strong>Tenant ID<\/strong> from the app registration. Refer to the <a href=\"https:\/\/github.com\/MSB365\/TeamsPresenceDashboard\/blob\/main\/README.md\">GitHub repository<\/a> for detailed instructions on deploying the application to your Azure instance.<\/p>\n<\/div>\n<div class=\"section\">\n<h2>How to Get Started<\/h2>\n<p>To start using the Microsoft Teams Presence Dashboard:<\/p>\n<ol>\n<li>Clone or download the repository from <a href=\"https:\/\/github.com\/MSB365\/TeamsPresenceDashboard\">GitHub<\/a>.<\/li>\n<li>Follow the setup guide above to configure the Entra ID app registration.<\/li>\n<li>Deploy the application to your Azure instance using the provided instructions in the repository.<\/li>\n<li>Access the dashboard to monitor Teams presence status for your organization.<\/li>\n<\/ol>\n<\/div>\n<div class=\"section\">\n<h2>Why Use the Teams Presence Dashboard?<\/h2>\n<p>This tool is ideal for organizations looking to streamline their monitoring of employee availability within Microsoft Teams. It\u2019s fully customizable, secure, and easy to integrate into your existing Azure infrastructure. By leveraging Microsoft Graph, the dashboard provides accurate and up-to-date presence information, helping you make informed decisions about resource allocation and team coordination.<\/p>\n<\/div>\n<div class=\"section\">\n<p>&nbsp;<\/p>\n<\/div>\n<div class=\"section\">\n<h2>Conclusion<\/h2>\n<p>The Microsoft Teams Presence Dashboard is a game-changer for organizations using Microsoft 365. It provides a simple yet effective way to monitor Teams presence status, all while being hosted on your own Azure instance for maximum control and security. Download it today from <a href=\"https:\/\/github.com\/MSB365\/TeamsPresenceDashboard\/blob\/main\/README.md\">GitHub<\/a> and start exploring its capabilities!<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<div class=\"vlp-link-container vlp-layout-basic\"><a href=\"https:\/\/github.com\/MSB365\/TeamsPresenceDashboard\/tree\/main\" class=\"vlp-link\" title=\"GitHub - MSB365\/TeamsPresenceDashboard\" rel=\"nofollow\" target=\"_blank\"><\/a><div class=\"vlp-layout-zone-side\"><div class=\"vlp-block-2 vlp-link-image\"><img decoding=\"async\" src=\"https:\/\/opengraph.githubassets.com\/5f904f30d5182fefb32fbee98abc5d5e0e4c512112561fbe3b2bdc786701ae51\/MSB365\/TeamsPresenceDashboard\" style=\"max-width: 150px; max-height: 150px\" \/><\/div><\/div><div class=\"vlp-layout-zone-main\"><div class=\"vlp-block-0 vlp-link-title\">GitHub - MSB365\/TeamsPresenceDashboard<\/div><div class=\"vlp-block-1 vlp-link-summary\">Contribute to MSB365\/TeamsPresenceDashboard development by creating an account on GitHub.<\/div><\/div><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; &nbsp; Introducing the Microsoft Teams Presence Dashboard I\u2019m excited to announce the release of the Microsoft Teams Presence Dashboard, a powerful tool designed to help organizations monitor the presence status of users within their Microsoft 365 tenant. This open-source tool is now available for download on GitHub at MSB365\/TeamsPresenceDashboard. What is the Teams Presence [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6015,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[1923,15],"tags":[],"class_list":["post-5867","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-365","category-ms-teams"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/posts\/5867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5867"}],"version-history":[{"count":4,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/posts\/5867\/revisions"}],"predecessor-version":[{"id":6017,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/posts\/5867\/revisions\/6017"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/media\/6015"}],"wp:attachment":[{"href":"https:\/\/www.msb365.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}