Skip to main content

2 posts tagged with "HaloPSA"

View All Tags

· 5 min read

Background information

The NinjaOne agent gives you the ability to customise your system tray and add things like about text, email links, a help request form, a URL and other things. Unfortunately HaloPSA doesn't currently support hooking into NinjaOne's help request form (don't worry, we're talking to NinjaOne and Halo Service Solutions about this!) so we're left with a bit of a workaround as a solution.

· 2 min read

About this script

HaloPSA is improving at a phenomenal rate - one of the latest enhancements relates to embedding the "customer portal" inside Teams for easier access by customers - this is early days for this enhancement to Halo and at present there isn't really a way to push this tab into customer environments... Until now!

Using the script below you can push any website as a tab to your customers' Teams environments. First a couple of configuration pre-requisites.

  1. You'll need to have setup the Secure App Model (Thanks Gav for the superb write-up!)
  2. You'll need to know the name of the Team and Channel you want to deploy the tab - currently the script will use the same details for all customers!

The fix

Securing Credentials in Scripts
Do not store credentials directly in scripts. You should utilise services like Azure KeyVault or other PAM solutions to secure credentials used in scripts, including this one.
This Script Was Updated

This script was updated after being published, if you're using it please compare the version you have with the version available here.

This script was last updated on 2023/03/25.

So here's the script:


To invoke the script we need to satisfy it's required parameters, an example invocation would look like this:

$NTWTParams = @{
CustomerExclude = @('', '')
TeamName = 'IT Service Desk'
ChannelName = 'General'
ClientId = '00000000-0000-0000-0000-000000000000'
ClientSecret = '00000000-0000-0000-0000-000000000000'
TenantId = '00000000-0000-0000-0000-000000000000'
TabName = 'Portal'
TabURL = ''
.\New-TeamsWebTab.ps1 @NTWTParams

Breaking down the available parameters:

  • -CustomerExclude - An array of customer tenant domains to exclude from the script.
  • -CustomerInclude - An array of customer tenant domains to include in the script.
  • -TeamName - The name of the Team to add the tab to. Defaults to the default team.
  • -ChannelName - The name of the Channel to add the tab to. Defaults to "General".
  • -ClientId - The Client ID of your Secure Application Model App.
  • -ClientSecret - The Client Secret of your Secure Application Model App.
  • -TenantId - The Tenant ID of your partner tenant.
  • -TabName - The name of the tab to add.
  • -TabURL - The URL of the tab to add.

Once you've filled in the variables - you simply run the script and wait for the tabs to be added!