<style>p { margin: 0; }span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left:0; padding-left:5px;}blockquote blockquote{ border-color: #00bcd4; color: #00bcd4;}blockquote blockquote blockquote{ border-color: #43a047; color: #43a047;} table.grid{ border-collapse: collapse;} table.grid td, table.grid th { border: 1px solid #ddd;} .fr-fic.fr-dib{ display: block; margin: 5px auto;}.fr-fic.fr-dib.fr-fir{ text-align: right; margin: 5px 0 5px auto;}.fr-fic.fr-dib.fr-fil{ text-align: left; margin: 5px auto 5px 0;}.fr-fic.fr-dii{ float: none; margin: 5px auto;}.fr-fic.fr-dii.fr-fil{ float: left; margin: 5px auto;}.fr-fic.fr-dii.fr-fir{ float: right; margin: 5px auto;}img.fr-dib.fr-fir { margin-right: 0; text-align: right;}img.fr-dib.fr-fil { margin-left: 0; text-align: left;}img.fr-dib { margin: 5px auto; display: block; float: none;}img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC;}img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc;}img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;}</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><p><strong>In this guide we will cover:</strong></p><p><strong>- What is Embedding the self-service Portal into Microsoft Teams?</strong></p><p><strong>- Part 1 - Embed your Halo Portal into Teams</strong></p><p><strong>- Part 2 - Configure Automatic Sign in</strong></p><p><strong>- Error Troubleshooting</strong></p><p><br></p><p><br></p><p><strong><span style="font-size: 14pt;">What is Embedding the self-service Portal into Microsoft Teams?</span></strong></p><p>Embedding your Halo self-service portal into Microsoft Teams allows your users to access the Halo portal from Microsoft Teams. Providing them an easy way to log service requests, report incidents, complete approvals, etc. When embedded the portal can appear in Teams as an app, allowing them to navigate between their Teams chats/channels and the Halo portal easily. The portal can be embedded with or without single sign-on. </p><p><br></p><p>When embedded without single sign-on users will need to sign into the Halo portal when this is opened in Teams. When embedded with single sign-on users will not need to sign into the Halo portal, they will automatically be signed in. When they sign in to Teams their credentials will authenticate their access both to Teams and to the Halo Portal. </p><p><br></p><p>This guide is split into two parts. Part 1 covers how to embed the Halo self-service portal into Microsoft Teams. Part 2 covers the additional configuration that will need to be carried out in order for single sign on to be used to automatically log users into the embedded portal. </p><p><br></p><p>Part 2 is not mandatory, but if you would like to setup this automatic login functionality you must follow BOTH parts 1 and 2. </p><p><br></p><p><br></p><p style="text-align: left;"><strong><span style="font-size: 14pt;">Part 1 - Embed your Halo Portal into Teams</span></strong></p><p>This part will cover how to embed your Halo portal into MS Teams. </p><p><br></p><p><strong><span style="font-size: 12pt;">Create an Azure Application</span></strong></p><p>Firstly, you will need to set up an App Registration in Microsoft Azure (Entra). This can be created from your Azure portal (<a data-fr-linked="true" href="https://portal.azure.com" id="isPasted">https://portal.azure.com</a>)</p><p><br></p><p>Give it a name and set it as a single tenant app registration (leave the "Redirect URI" field blank). Register the app by clicking the button on the bottom left of the screen.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImI3MmQ4MmMxLTgzZjEtNDk5OS05YWQ4LTc0Y2EwNTQ1MzhlZSJ9.shmUoWW0s6bBmcIfx0RyDEuGEjBxB-lnE8xg3sYLPjU" class="fr-fic fr-fil fr-dib" width="843" style="width: 845px; height: 760.143px;" height="760"></p><p><strong><span style="font-size: 10pt;">Fig 1. New Azure application.</span></strong></p><p><br></p><p>No further configuration needs to be completed for this app registration. </p><p><br></p><p>Once registered head to the 'Overview' tab and copy the 'Application (client) ID'. Keep note of this as this will be used later. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY1OTFmMGI2LTk5ZmMtNDI4MC1iZjQxLWEwYmZmZTg4ODJjYiJ9.eCWSckwc6IMQd-RMRzYnkf90Uj7JuZtLhTZO0KX6KBo" class="fr-fic fr-fil fr-dib" width="1343" style="width: 1345px; height: 608.411px;" height="608"></p><p><strong><span style="font-size: 10pt;">Fig 2. Application (client ID) for Azure application. </span></strong></p><p><br></p><p>Now you will need to create a Microsoft Teams application. </p><p><br></p><p><strong><span style="font-size: 12pt;">Create Microsoft Teams Application</span></strong></p><p id="isPasted">To create a MS Team application head to <a data-fr-linked="true" href="https://dev.teams.microsoft.com/home" id="isPasted">https://dev.teams.microsoft.com/home</a> and log in with your Azure credentials. Once you have access to the Teams developer portal head to the 'Apps' tab and create a new app.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjI0NjBhYTJlLTM3NWMtNDczYy1iYjg0LTY3YzIyZTUzN2EzYSJ9.X1-KDTwcQXNRQrqBxf5UdxssGG9jzU21UqOX_kIURpE" class="fr-fic fr-fil fr-dib" width="1520" style="width: 1522px; height: 440.255px;" height="440"></p><p><strong><span style="font-size: 10pt;">Fig 3. Create new app in MS Teams developer portal.</span></strong></p><p><br></p><p>Once you have given the app a name and created it head to the 'Basic Information' tab. Here you will need to complete all mandatory (and applicable) fields. Not all fields may seem relevant but these fields must be filled out for this to work. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNkOTc3ZGJlLWQ5MTktNDBhZi04NGQxLTVlNDhiYjc4OWExZCJ9.izFrJgD1tlK2xdqsTrkn70x5IoIskiFVuOUi8ElEmqU" class="fr-fic fr-fil fr-dib" width="900" style="width: 902px; height: 733.093px;" height="733"></p><p><strong><span style="font-size: 10pt;">Fig 4a. MS Teams app information.</span></strong></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjMyZWMwMzM4LWI3NGYtNDNlZC04YTFmLTRjZWI5MDVlNDhhYyJ9.23m3bROyVPO7EUgIR8vfuFLXdA8Pbu9g1fXd1RHUmFw" class="fr-fic fr-fil fr-dib" width="901" style="width: 903px; height: 734.939px;" height="735"></p><p><strong><span style="font-size: 10pt;">Fig 4b. MS Teams app information.</span></strong></p><p><br></p><p><strong>Application (client) ID</strong> - Enter the ID of the Azure application created earlier (figure 2). </p><p><br></p><p>The developer information is just the website of your organisation and your companies name, this is just to see who published the app. These settings are strict because the app being connected could be for payment processing, so by default app creation on the dev console has mandatory fields for many things. Make sure to add to all the starred fields to get the app to work.</p><p><br></p><p id="isPasted">Once this has all been filled out, select the 'App features' tab and then 'Personal App'.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImIyMWRlMWFjLTNiMWYtNDA4MC1hZGFkLTQwY2VlNmZiOWM0NSJ9.qflwxrhmRgN0VR5KcepHf2PbTheLGLeSdUSyk0RolXE" class="fr-fic fr-fil fr-dib" width="1050" style="width: 1052px; height: 546.409px;" height="546"></p><p><strong><span style="font-size: 10pt;">Fig 5. Add personal app tab.</span></strong></p><p><br></p><p>Then use the button on the page to 'Create your first personal app tab'. </p><p><br></p><p>In the popup enter your Halo portal URL, a name to identify it and a scope. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjI5MTJhMzg5LTMwZmUtNDUyMS04NDk5LTQ2MmI3NDJhMmNhYSJ9.regfRm2K8HM9igE3-WkAA4AyZtaHej92LjuJhjj6hCc" class="fr-fic fr-fil fr-dib" width="546" style="width: 548px; height: 519.734px;" height="520"></p><p><strong><span style="font-size: 10pt;">Fig 6. Personal app tab details.</span></strong></p><p><br></p><p><strong>Tab name</strong> <strong>-</strong> This will be the name (of the app) users see when using this app in Teams. </p><p><strong>Content URL -</strong> Enter the URL of your Halo portal here. This this the portal that will appear in Teams. To find your portal URL head to Configuration > Self Service Portal in your Halo instance and look for the 'Web portal URL' field. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjFlOGIwMDJmLTc3MmUtNDBkOS1iOTAxLWM5YThkZjk2YTQyYiJ9.Odz2xCqGLZxcJ54UjopX3b9LaQXGPSHJGZPSXTrN2TM" class="fr-fic fr-fil fr-dib" width="428" style="width: 430px; height: 250.677px;" height="251"></p><p><strong><span style="font-size: 10pt;">Fig 7. Halo portal URL.</span></strong></p><p><br></p><p><strong>Scope -</strong> Determines who can see your app and where it can be installed. When set to 'personal' each user can add the app to their personal app collection. </p><p><strong>Context -</strong> Controls where the app appears in Teams. When set to 'personalTab' the app will only appear in the personal app area. </p><p><br></p><p>Finally, press publish and select 'Publish to your organisation' which will allow users in your organisation to make use of the app you have created. You can also preview the app in Teams before publishing to ensure that everything is set up correctly.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjE5OTMxMjQ5LTJjYWMtNGM0YS1iMDI2LTU2ODE2ODNjNzYxZSJ9.OtNQVQGl93H4TFKe3CL5QUZibA2K1pNjsEkHSCBkpAg" class="fr-fic fr-fil fr-dib" width="1433" style="width: 1435px; height: 666.69px;" height="667"></p><p><strong><span style="font-size: 10pt;">Fig 8. Preview/Publish app.</span></strong></p><p><br></p><p><strong><em>Note: The Website URL will be shown in the URL preview for the personal app tab. </em></strong></p><p><br></p><p><strong><span style="font-size: 12pt;">Using the Teams App</span></strong></p><p>Once you have added the application to your Microsoft Teams, open it up. When opening a pop-up will appear prompting you to log into the Halo portal.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA3MmJjZmRiLTBlZjUtNDQxMC05ODFjLTgwZTgzYmJkZTM1YiJ9.ZkIu_5XLdlHlrhxE7HLbVQG-T3ENBpsrCXSO9927Yp8" class="fr-fic fr-fil fr-dib" width="1140" style="width: 1142px; height: 722.199px;" height="722"></p><p><strong><span style="font-size: 10pt;">Fig 9. Log in to Halo portal.</span></strong></p><p><br></p><p><strong><em>Note: If you have SSO configured for your Halo portal users will be able to log into the portal from Teams using the respective button, as they would when logging into the portal outside of Teams.</em></strong></p><p><br></p><p>Once you have logged in you will be able to navigate the portal within MS Teams. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjkzN2QxMGEyLTI4Y2QtNGNjMC05NWZlLWY5MjRhYWVjMGExNCJ9.LPVG--e7XIGPY4PKhxNhQaFC_V1tpVqhDvNn-lNYWvU" class="fr-fic fr-fil fr-dib" width="983" style="width: 985px; height: 599.167px;" height="599"></p><p><strong><span style="font-size: 10pt;">Fig 10. Halo portal embedded in Teams.</span></strong></p><p><br></p><p style="text-align: left;"><strong><span style="font-size: 14pt;">Part 2 - Configure Automatic Sign in</span></strong></p><p>This part will cover the additional configuration required for users to bypass the need to log into the embedded Halo portal. </p><p><br></p><p>Before following this section ensure you have completed the following pre-requisites:</p><ul><li>Followed Part 1 of this guide<ul><li>In Part 1 you should have created:<ul><li>x1 Azure application</li><li>x1 Microsoft Teams application</li></ul></li></ul></li><li>Your Halo instance needs to already have <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2322" id="isPasted" target="_blank" rel="noopener noreferrer">single sign-on setup with Azure (Entra)</a>. Single sign on should be allowed for users. </li><li>As of 2025, Microsoft are enforcing verified domains when adding an <a data-fr-linked="true" href="https://learn.microsoft.com/en-us/entra/identity-platform/security-best-practices-for-app-registration#application-id-uri-also-known-as-identifier-uri" id="isPasted" target="_blank" rel="noopener noreferrer">Application ID URL</a> (which is required Part 2 setup). Therefore, this feature is only available if your Halo instance and portal use a custom domain, which is verified within your Azure tenant <a data-fr-linked="true" href="https://learn.microsoft.com/en-us/entra/identity/users/domains-manage#add-subdomains-of-a-custom-domain" id="isPasted" target="_blank" rel="noopener noreferrer">Microsoft Learn</a>.</li></ul><p id="isPasted" style="margin-left: 60px;"><strong>Verify your Domain in your Azure Tenant</strong></p><p style="margin-left: 60px;">If you are setting this functionality up from 2025 onwards your Halo Portal URL will need to use a custom domain. You will not be able to set this up if your Portal is using a Halo domain (.halopsa.com, .haloitsm.com, .halocrm.io).</p><p style="margin-left: 60px;"><br></p><p style="margin-left: 60px;">To change the URL of your instance, you will need to log a request with our support team to have this changed once you have registered your own domain.</p><p style="margin-left: 60px;"><br></p><p style="margin-left: 60px;">Once your custom domain is in use, you will need to verify this within your Microsoft Azure tenant.</p><p style="margin-left: 60px;"><br></p><p style="margin-left: 60px;">Head to the Entra admin centre (ensure you are signed in as a Global Administrator). Head to 'Custom domain names' > Add a custom domain. Here, enter your custom domain name e.g. 'YOURCOMPANY.COM' and add the domain. Microsoft will show you a TXT DNS record. You will need to add this TXT record to the DNS host where your domain is managed. DNS propagation can take 72 hours, so we recommend continuing setup after this 72 hour period. Now head back to Entra and verify the custom domain added, you will need to select the custom domain and hit verify. If the TXT record is found, your domain will be marked as verified.</p><p style="margin-left: 20px;"><br></p><p><strong><span style="font-size: 12pt;">Configure Azure application for Single Sign-On</span></strong></p><p>To begin, you will need to complete some additional configuration to your Azure application that is being used to authenticate single sign-on in your Halo instance. This is not the Azure application we created earlier, but an existing Azure application you should already have from a previous <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2322" id="isPasted" target="_blank" rel="noopener noreferrer">single sign on</a> setup. </p><p><br></p><p>We will need to expose this Azure application as an API. Within the SSO Azure application head to the 'Expose as API' tab and 'Add' an Application ID URI. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImEwZGMyMjkzLWExNGMtNDE3OC1iZjY0LWY4OWMzYmVhMTM1ZCJ9.WGRtw6jYWNmoFa3EyFiIvqvegO33bfquIW9Jm7702Vs" class="fr-fic fr-fil fr-dib" width="1251" style="width: 1253px; height: 701.018px;" height="701"></p><p><strong><span style="font-size: 10pt;">Fig 11. Expose Azure app as an API.</span></strong></p><p><br></p><p>Add in the URI in the following format:</p><ul><li id="isPasted">api://{Halo Portal URL}/{Client ID of the app you're currently editing}</li></ul><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImE1Y2M3ZTMwLTUwYTgtNDMxZC1hMGNmLTI4N2FkYmFmMTA0OSJ9.pGD9Yuz7meH1r7okjBTuCD3Bs6FN_QpPNEp1lO7ck9Y" class="fr-fic fr-fil fr-dib" width="1045" style="width: 1047px; height: 719.713px;" height="720"></p><p><strong><span style="font-size: 10pt;">Fig 12. Add application ID URI.</span></strong></p><p><br></p><p>Once saved you will need to define a scope. Use the 'Add scope' button on this same page. </p><p><br></p><p>Configure the scope as shown in figure 13. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImM5NGFkNWZkLTM3MjQtNDM4Zi04MTQ2LTc0ZjE2YzhhNGQzOCJ9.dhXasU3_fFZJJdanzJwpuHzm5aQcSVuuv2Ijj8L2_w0" class="fr-fic fr-fil fr-dib" width="658" style="width: 660px; height: 707.986px;" height="708"></p><p><strong><span style="font-size: 10pt;">Fig 13. Scope for application ID URI.</span></strong></p><p><br></p><p id="isPasted">Next, under the heading 'Authorized client applications', you now need to add a the following application (client) IDs along with with the scope just created. </p><ul><li>Application (client) ID of the app registration we created earlier for embedding the Halo portal in Teams</li><li>1fec8e78-bce4-4aaf-ab1b-5451cc387264 (Official Teams Desktop application (client) ID)</li><li>5e3ce6c0-2b1f-4285-8d4b-75ee78787346 (Official Teams Web application (client) ID)</li></ul><p><strong><em>Note: The official application IDs for Microsoft Teams are published <a data-fr-linked="true" href="https://learn.microsoft.com/en-us/microsoft-copilot-studio/configure-sso-teams" id="isPasted" target="_blank" rel="noopener noreferrer">here</a>. </em></strong></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjJlMDU1ZGFlLWEyZDYtNDA3My1iOWRlLTU0ZjdiZTMzOGQ3OCJ9.dMkftH1Ie3df83JeoDygdgbU-gQLDVN-rdLzd4IWdSs" class="fr-fic fr-fil fr-dib" width="1056" style="width: 1058px; height: 746.824px;" height="747"></p><p><strong><span style="font-size: 10pt;">Fig 14. Adding the application ID created earlier as an authorised client application. </span></strong></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjFmYjYwODMxLWNmNGQtNGRmNi04ZGYwLWU0NzY2MDQ3NzMxMyJ9.TevYDaiWbtaaPDM3-C0sWEvoFnitQj5hDmKTxbmVPc0" class="fr-fic fr-fil fr-dib" width="1100" style="width: 1102px; height: 725.159px;" height="725"></p><p><strong><span style="font-size: 10pt;">Fig 15. Authorized client applications added. </span></strong></p><p><br></p><p>Once all the client applications are added copy the 'Application ID URI' as this will be needed later. </p><p><br></p><p><strong><em>Note: Later on, when testing, if you get a redirect error regarding the Microsoft Teams client ID not being in the redirect. You will need to add the client ID that it mentions in the error here as an Authorized client application.</em></strong></p><p><br></p><p id="isPasted">Finally, you will need to add the below value to the manifest file of the app registration:</p><ul><li>"requestedAccessTokenVersion": 2</li></ul><p><br></p><p>The key should already exist, so you will just need to set it to '2'.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImUwMWRhOWRhLTU4ZGMtNDk4MC04OWFmLTI5YjJkNWE5MjZkMyJ9.9NFf-AYxdRN2AvjsVdwRoLD_QfxBmjwAdNtwQME1ptc" class="fr-fic fr-fil fr-dib" width="751" style="width: 753px; height: 578.752px;" height="579"></p><p><strong><span style="font-size: 10pt;">Fig 16. Adjust manifest values. </span></strong></p><p><br></p><p>Ensure the save the manifest after editing. </p><p><br></p><p>Now the configuration for this Azure (SSO) application is complete. At this point you should have:</p><ul><li>created x1 Azure application for embedding the Halo portal into Teams.</li><li>edited the Azure application you use for authenticating SSO in your Halo instance.</li><li>created x1 MS Teams application</li></ul><p id="isPasted">You will now need to configure the app within the Microsoft Teams developer portal.</p><p><br></p><p><strong><span style="font-size: 12pt;">Microsoft Teams App Configuration</span></strong></p><p>Head to the single sign-on tab within the MS Team application you created earlier. Paste the application ID URI you created earlier. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImU0NWMxZWY1LTRmYjEtNDRjOS1hYmY2LTRlOTJiNWJkMzgwNiJ9.kvsO7h1XFjJHm579zql_3M0CXEeYeipRWrHEEbY9FJE" class="fr-fic fr-fil fr-dib" width="1480" style="width: 1482px; height: 683.632px;" height="684"></p><p><strong><span style="font-size: 10pt;">Fig 17. Add application ID URI to MS Teams app. </span></strong></p><p><br></p><p>Now setup is complete you can press publish and select 'Publish to your organisation' which will allow users in your organisation to make use of the app you have created. You can also preview the app in Teams before publishing to ensure that everything is set up correctly.</p><p><br></p><p><strong><span style="font-size: 12pt;">Using the Teams app with Automatic sign in (Single Sign-On)</span></strong></p><p id="isPasted">Once you have added the application to your Microsoft Teams, open it up. On first use an admin will need to provide consent for the app to access the Halo portal. When opening no pop-up will appear prompting you to log into the Halo portal. Instead the user will be logged in automatically and will be able to see/use the Halo portal right away. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImEwOTk1YzE0LTY4NjEtNDUxMS1hNDY5LTI2MDE5YTFlZTlkOCJ9.YggJnm6xwZZaUnIT-blWEV-6zPCTXqvsnq-g-wMkRSA" class="fr-fic fr-fil fr-dib" width="1471" style="width: 1473px; height: 883.144px;" height="883"></p><p><strong><span style="font-size: 10pt;">Fig 18. Halo Portal embedded in Teams. </span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Error Troubleshooting</span></strong></p><table style="width: 100%; margin-top: auto; margin-right: auto; margin-bottom: auto; border-width: 1px; border-style: solid; height: 100px;" class="grid"><colgroup><col style="width: 33.3331%;"><col style="width: 20.8597%;"><col style="width: 45.8072%;"></colgroup><tbody><tr style="height: 49.5px;"><td style="text-align: center;"><strong>Error</strong></td><td style="text-align: center;"><strong>Cause</strong></td><td style="text-align: center;"><strong>Solution</strong></td></tr><tr style="height: 49.5px;"><td style="text-align: left;">The specified 'redirect_uri' parameter is not valid for this client application<br><br>Occurring when loading the portal in teams when configured with SSO. </td><td>Occurs when the teams callback redirect URIs are not present in the NHD_identity_application table.</td><td>You will need to make two API POSTs to the <em>/contro</em><em>l</em> endpoint. The first POST will need to change your portal URL field (this can just be adding an extra character on the end). The secondary POST will change the URL back to your original URL. <br><br><strong><span style="color: rgb(235, 107, 86);">Important: Ensure you change the portal URL back to the original. <br></span></strong><br>If you are unsure how to do this, contact the Halo support team (support@haloitsm.com/support@halopsa.com/support@halocrm.io) and they can complete this for you. </td></tr></tbody></table><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p>