Prerequisites

Before setting up the Privilege Manager Microsoft Teams Approval Bot, make sure the following requirements are in place.

Requirement Required For How to Get It
Docker Desktop Running the container Download Docker Desktop
Azure subscription Bot resource and App Registration Create an Azure account
Azure CLI (az) Configuring the bot endpoint winget install -e --id Microsoft.AzureCLI
Microsoft 365 tenant with Teams Sideloading the bot Existing M365 or E5 tenant
Teams admin or sideload permission Uploading custom apps Teams Admin Center > Setup policies
Privilege Manager instance Source of approval requests Cloud or on-premises tenant with API client credentials
ngrok account (or equivalent tunnel) Public HTTPS endpoint for local development ngrok.com (free tier is sufficient)
Azure Key Vault (optional) Auto-approve schedule storage Created via az keyvault create

You also need the following identity values before you start:

Value Where It Comes From
MicrosoftAppId Azure AD App Registration > Application (client) ID
MicrosoftAppPassword Azure AD App Registration > Certificates & Secrets > client secret
MicrosoftAppTenantId Azure AD > Tenant ID
PRIVMAN_BASE_URL Privilege Manager instance URL ending in /Tms
PRIVMAN_USERNAME / PRIVMAN_PASSWORD Privilege Manager REST API client credentials