Project

PSTeams

PSTeams is a PowerShell Module working on Windows / Linux and Mac. It allows sending notifications to Microsoft Teams via WebHook Notifications. It's pretty flexible and provides a bunch of options. Initially, it only supported one sort of Team Cards but since version 2.X.X it supports Adaptive Cards, Hero Cards, List Cards, and Thumbnail Cards. All those new cards have their own cmdlets and the old version of creating Teams Cards stays as-is for compatibility reasons.

Stars442
Forks38
Open issues8
PowerShell Gallery downloads1174900
Releasev2.4.0
Language: C# Updated: 2026-10-30

Curated Examples

Send a Teams Workflow notification

Render a MessageX Adaptive Card locally, then send it to a configured Workflow.

Import the locally built MessageX module as shown on the installation page. This complete example renders JSON without a network request. It sends only when you set MESSAGEX_TEAMS_WORKFLOW_URL to a Workflow URL you control.

$card = New-TeamsAdaptiveCard -Body {
    New-TeamsAdaptiveTextBlock -Text 'Deployment finished successfully.'
} -FallbackText 'Deployment finished successfully.'
$message = New-TeamsMessage -AdaptiveCard $card -Summary 'Deployment finished'

$message | ConvertTo-TeamsJson | ConvertFrom-Json

if ($env:MESSAGEX_TEAMS_WORKFLOW_URL) {
    $target = New-TeamsWebhookTarget -Uri $env:MESSAGEX_TEAMS_WORKFLOW_URL -Destination Channel
    Send-TeamsMessage -Message $message -Target $target -PassThru
}

Create the Workflow in Teams and keep its URL in a secret store or process environment. A successful HTTP response means the Workflow accepted the request; inspect the Workflow run and the rendered channel message to confirm delivery. The Workflow target is send-only.