Verification

Verify the Container Started

After running the container, confirm it started correctly:

docker ps --filter name=privman-teams-bot

docker logs -f privman-teams-bot

All three lines must appear within approximately 10 seconds:

[azure_bot.app] INFO: Starting approval poller (interval=60s)

[azure_bot.poller] INFO: Poller starting — polling every 60s

[azure_bot.poller] INFO: 0 pending — no changes

Confirm the health endpoint responds:

curl http://localhost:8080/health

# {"status":"ok"}

Verify the End-to-End Flow

With everything configured, trigger a real Privilege Manager elevation request to confirm the full flow works:

  1. On a managed endpoint, trigger an action that requires Privilege Manager approval (for example, right-click an application and select Request Run as Administrator).

  2. The user submits the elevation request. It appears as pending in Privilege Manager.

  3. Within POLL_INTERVAL seconds (default 60), the poller picks it up. Watch the logs:

    [azure_bot.poller] INFO: NEW #<id> - <requester> - <policy>

    [azure_bot.poller] INFO: Posted card #<id> to conversation 19:...@thread.tacv2

  4. A new Adaptive Card appears in the Teams channel with the requester name, policy name, computer name, duration dropdown, and Approve and Deny buttons.

  5. Click Approve and select a duration. The card updates to show the approval.

  6. Privilege Manager allows the elevation on the endpoint.

Manage the Container

Action Command
Tail logs docker logs -f privman-teams-bot
Stop the bot docker stop privman-teams-bot
Start the bot docker start privman-teams-bot
Remove the container docker rm privman-teams-bot
Update to a newer version

docker stop privman-teams-bot

docker rm privman-teams-bot

docker pull delineaxpm/privman-teams:latest

Then re-run the docker run command from Configuration.