Highbay

Grant SharePoint Access to Highbay

Microsoft 365 Integration

Grant SharePoint Access to Highbay

How a Microsoft 365 administrator grants the Highbay Portal app permission to access specific SharePoint sites.

Audience: IT administrators. Last updated 2026-06-08.

What you will need

  • A SharePoint Administrator or Global Administrator role in your Microsoft 365 tenant.
  • The full URL of the SharePoint site the user is trying to access (e.g. https://contoso.sharepoint.com/sites/Engineering). Ask the user to confirm the exact URL.
  • About 2 to 5 minutes.

You do not need a Highbay account to complete this step.

App identification

These values are required by the scripts below. They identify the Highbay app registration in Microsoft's systems.

Field Value
App display name Highbay Portal
App (client) ID 30e56f41-e7f2-4a37-bdb4-cbba410fa3fe
Publisher Applied Continuity LLC (highbay.io)

Two ways to grant access

Choose the path that works best for you.

Path 1: PowerShell (recommended)

This script uses the Microsoft.Graph PowerShell module. If you do not have it, run Install-Module Microsoft.Graph -Scope CurrentUser first. You only need to do that once.

Open a PowerShell session and run:

# Grant Highbay Portal access to a SharePoint site.
# Run as a SharePoint Administrator or Global Administrator.
# Requires the Microsoft.Graph module.

Connect-MgGraph -Scopes "Sites.FullControl.All"

$AppId          = "30e56f41-e7f2-4a37-bdb4-cbba410fa3fe"
$AppDisplayName = "Highbay Portal"
$SiteUrl        = Read-Host "Enter the full SharePoint site URL"
$Role           = Read-Host "Permission level: read or write"

# Resolve site ID from URL
$Uri    = [System.Uri]$SiteUrl
$SiteId = "$($Uri.Host):$($Uri.AbsolutePath)"
$Site   = Get-MgSite -SiteId $SiteId

# Build the permission body
$Body = @{
    roles               = @($Role)
    grantedToIdentities = @(
        @{
            application = @{
                id          = $AppId
                displayName = $AppDisplayName
            }
        }
    )
}

New-MgSitePermission -SiteId $Site.Id -BodyParameter $Body

Write-Host "Done. Granted $Role on $($Site.DisplayName) to $AppDisplayName."

When prompted, sign in with your administrator account. Enter the full site URL (e.g. https://contoso.sharepoint.com/sites/Engineering) and choose read or write as the permission level.

The script takes under a minute. Once it completes, users in your tenant can see the site in the Highbay file picker.

Path 2: Graph API (for admins who prefer REST)

If you have an existing automation pipeline or prefer calling the API directly, use these two calls with an admin bearer token that has Sites.FullControl.All.

Step 1: Resolve the site ID from the URL.

GET https://graph.microsoft.com/v1.0/sites/contoso.sharepoint.com:/sites/Engineering
Authorization: Bearer {admin-access-token}

The response includes an "id" field that looks like contoso.sharepoint.com,{guid},{guid}. Copy the full value.

Step 2: Post the permission grant.

POST https://graph.microsoft.com/v1.0/sites/{site-id}/permissions
Authorization: Bearer {admin-access-token}
Content-Type: application/json

{
  "roles": ["read"],
  "grantedToIdentities": [
    {
      "application": {
        "id": "30e56f41-e7f2-4a37-bdb4-cbba410fa3fe",
        "displayName": "Highbay Portal"
      }
    }
  ]
}

A 201 response means the grant was created successfully.

Permission levels

When prompted to enter a permission level, use read for most Highbay workflows. Write is only needed if users need to save files back to SharePoint from Highbay.

Level What Highbay can do with this grant
read List files in the site, open file contents, and attach files to Highbay engagements as links. Recommended for most customers.
write Everything in read, plus create and update files in the site (e.g. save a session output back to SharePoint).
owner Everything in write, plus manage site permissions. We do not request this level and recommend against granting it.

Verifying the grant worked

Two ways to confirm:

  • From PowerShell: Run the following to list all app permissions on the site.
    $Site = Get-MgSite -SiteId "contoso.sharepoint.com:/sites/Engineering"
    Get-MgSitePermission -SiteId $Site.Id | Format-List
    Look for an entry with GrantedToIdentities.Application.Id matching 30e56f41-e7f2-4a37-bdb4-cbba410fa3fe.
  • From the Highbay app: Ask the user to sign out and sign back in, then open the file picker and click the SharePoint Sites tab. The site should appear in the list.

Token caches can delay propagation by up to 30 minutes. If the site does not appear immediately, ask the user to sign out and sign back in to get a fresh token.

Revoking access later

You can revoke the app's access to a site at any time. After revocation, Highbay users will no longer see the site in their file picker. Files previously attached remain as links in Highbay, but the app can no longer read new files from that site.

Via PowerShell:

$Site = Get-MgSite -SiteId "contoso.sharepoint.com:/sites/Engineering"

# Find our app's permission entry
$Permissions = Get-MgSitePermission -SiteId $Site.Id
$OurPerm = $Permissions | Where-Object {
    $_.GrantedToIdentities.Application.Id -eq "30e56f41-e7f2-4a37-bdb4-cbba410fa3fe"
}

# Remove it
$OurPerm | ForEach-Object {
    Remove-MgSitePermission -SiteId $Site.Id -PermissionId $_.Id
    Write-Host "Revoked permission $($_.Id)"
}

Via the SharePoint admin center: Navigate to the site in the SharePoint admin center, open Site settings, then Site app permissions. Find Highbay Portal and remove it.

Troubleshooting

Problem Likely cause Fix
"Insufficient privileges to complete the operation" The account running the script does not have SharePoint Administrator or Global Administrator role. Re-run with an account that has one of those roles.
"Resource not found" or site URL is not resolved The URL has the wrong format or the site has been renamed or deleted. Run Get-MgSite -Search "site name" to find the correct site and its URL.
Grant succeeded but the picker still shows empty Token cache. The user's access token was issued before the grant was created and Microsoft caches it for up to 30 minutes. Ask the user to sign out of Highbay and sign back in. This forces a fresh token.
"Sites.Selected requires admin consent" shown to the user during sign-in No administrator in your tenant has yet consented to the Highbay app. This is a one-time per-tenant step, separate from the per-site grant. See the "First-time admin consent" section below.
"Your organization does not allow access to apps that are not verified" Your tenant has the "block apps from unverified publishers" policy enabled. This is an Entra ID tenant policy, not specific to Highbay. A Global Administrator can grant an exception for the Highbay app in the Entra admin center under Enterprise applications. Alternatively, contact legal@highbay.io for our Verified Publisher timeline.