Microsoft Power Automate - Post AdaptiveCard
Octopus.Script exported 03/10/2025 by benjimac93 belongs to 'Microsoft Power Automate' category.
Posts a message to Microsoft Teams using Microsoft Power Automate webhook.
Parameters
When steps based on the template are included in a project's deployment process, the parameters below can be set.
Webhook Url
The specific URL created by Microsoft Power Automate using 'When a Teams webhook request is received' flow template. Copy and paste the full HTTP URL from Microsoft Power Automate.
Message title
The title of the message that will be posted to your Microsoft Teams channel.
Message body
The message body of post being added to your Microsoft Teams channel.
Title Color
The color to use for the title of the adaptive card.
Timeout in seconds
The maximum timeout in seconds for each request.
Retry posting message
Should retries be made? If this option is enabled, the step will attempt to retry the posting of message to teams up to the set retry count. Default: False.
Retry Count
The maximum number of times to retry the post before allowing failure. Default 1
Retry delay in milliseconds
The amount of time in milliseconds to wait between retries. Default 100
Body Color
The color to use for the body of the adaptive card.
Button Title
The button title of post being added to your Microsoft Teams channel.
Button url
The button url of post being added to your Microsoft Teams channel.
Script body
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# Helper functions
function Retry-Command {
[CmdletBinding()]
Param(
[Parameter(Position=0, Mandatory=$true)]
[scriptblock]$ScriptBlock,
[Parameter(Position=1, Mandatory=$false)]
[int]$Maximum = 5,
[Parameter(Position=2, Mandatory=$false)]
[int]$Delay = 100
)
Begin {
$count = 0
}
Process {
$ex=$null
do {
$count++
try {
Write-Verbose "Attempt $count of $Maximum"
$ScriptBlock.Invoke()
return
} catch {
$ex = $_
Write-Warning "Error occurred executing command (on attempt $count of $Maximum): $($ex.Exception.Message)"
Start-Sleep -Milliseconds $Delay
}
} while ($count -lt $Maximum)
throw "Execution failed (after $count attempts): $($ex.Exception.Message)"
}
}
# End Helper functions
[int]$timeoutSec = $null
[int]$maximum = 1
[int]$delay = 100
if(-not [int]::TryParse($OctopusParameters['PowerAutomatePostAdaptiveCard.Timeout'], [ref]$timeoutSec)) { $timeoutSec = 60 }
if ($OctopusParameters["AutomatePostMessage.RetryPosting"] -eq $True) {
if(-not [int]::TryParse($OctopusParameters['PowerAutomatePostAdaptiveCard.RetryCount'], [ref]$maximum)) { $maximum = 1 }
if(-not [int]::TryParse($OctopusParameters['PowerAutomatePostAdaptiveCard.RetryDelay'], [ref]$delay)) { $delay = 100 }
Write-Verbose "Setting maximum retries to $maximum using a $delay ms delay"
}
# Create the payload for Power Automate
$payload = @{
type = "message" # Fixed value for message type
attachments = @(
@{
contentType = "application/vnd.microsoft.card.adaptive"
content = @{
type = "AdaptiveCard"
body = @(
@{
type = "TextBlock"
text = $OctopusParameters['PowerAutomatePostAdaptiveCard.Title']
weight = "bolder"
size = "medium"
color= $OctopusParameters['PowerAutomatePostAdaptiveCard.TitleColor']
},
@{
type = "TextBlock"
text = $OctopusParameters['PowerAutomatePostAdaptiveCard.Body']
wrap = $true
color= $OctopusParameters['PowerAutomatePostAdaptiveCard.BodyColor']
}
)
actions = @(
@{
type = "Action.OpenUrl"
title = $OctopusParameters['PowerAutomatePostAdaptiveCard.ButtonTitle']
url = $OctopusParameters['PowerAutomatePostAdaptiveCard.ButtonUrl']
}
)
"`$schema" = "http://adaptivecards.io/schemas/adaptive-card.json"
version = "1.0"
}
}
)
}
Retry-Command -Maximum $maximum -Delay $delay -ScriptBlock {
#Write-Output ($payload | ConvertTo-Json -Depth 6)
# Prepare parameters for the POST request
$invokeParameters = @{
Method = "POST"
Uri = $OctopusParameters['PowerAutomatePostAdaptiveCard.HookUrl']
Body = ($payload | ConvertTo-Json -Depth 6 -Compress)
ContentType = "application/json; charset=utf-8"
TimeoutSec = $timeoutSec
}
# Check for UseBasicParsing (needed for some environments)
if ((Get-Command Invoke-RestMethod).Parameters.ContainsKey("PowerAutomatePostAdaptiveCard.UseBasicParsing")) {
$invokeParameters.Add("UseBasicParsing", $true)
}
# Send the request to the Power Automate webhook
$Response = Invoke-RestMethod @invokeParameters
Write-Verbose "Response: $Response"
}
To use this template in Octopus Deploy, copy the JSON below and paste it into the Library → Step templates → Import dialog.
Show JSON{
"Id": "707e6dae-0d6f-4121-ab8d-6961039c4162",
"Name": "Microsoft Power Automate - Post AdaptiveCard",
"Description": "Posts a message to Microsoft Teams using Microsoft Power Automate webhook.",
"Version": 2,
"ExportedAt": "2025-03-10T22:22:38.638Z",
"ActionType": "Octopus.Script",
"Author": "benjimac93",
"Packages": [],
"Parameters": [
{
"Id": "5d460a15-4052-44f7-85a2-f75cdf77da03",
"Name": "PowerAutomatePostAdaptiveCard.HookUrl",
"Label": "Webhook Url",
"HelpText": "The specific URL created by Microsoft Power Automate using 'When a Teams webhook request is received' flow template. Copy and paste the full HTTP URL from Microsoft Power Automate.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "53b1de0d-261e-464f-91e1-b7307fd5d1a2",
"Name": "PowerAutomatePostAdaptiveCard.Title",
"Label": "Message title",
"HelpText": "The title of the message that will be posted to your Microsoft Teams channel.",
"DefaultValue": "#{Octopus.Project.Name} #{Octopus.Release.Number} deployed to #{Octopus.Environment.Name}#{if Octopus.Deployment.Tenant.Id} for #{Octopus.Deployment.Tenant.Name}#{/if}",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "14c34ec8-5e44-40c6-bf93-7d4920a78b80",
"Name": "PowerAutomatePostAdaptiveCard.Body",
"Label": "Message body",
"HelpText": "The message body of post being added to your Microsoft Teams channel.",
"DefaultValue": "For more information, please see [deployment details](#{if Octopus.Web.ServerUri}#{Octopus.Web.ServerUri}#{else}#{Octopus.Web.BaseUrl}#{/if}#{Octopus.Web.DeploymentLink})!",
"DisplaySettings": {
"Octopus.ControlType": "MultiLineText"
}
},
{
"Id": "60d65627-fa61-4203-becf-ae316488a774",
"Name": "PowerAutomatePostAdaptiveCard.TitleColor",
"Label": "Title Color",
"HelpText": "The color to use for the title of the adaptive card.",
"DefaultValue": "default",
"DisplaySettings": {
"Octopus.ControlType": "Select",
"Octopus.SelectOptions": "default|Default\ndark|Dark\nlight|Light\naccent|Accent\ngood|Good\nwarning|Warning\nattention|Attention"
}
},
{
"Id": "1491e7d2-2677-4119-a159-09715173af25",
"Name": "PowerAutomatePostAdaptiveCard.Timeout",
"Label": "Timeout in seconds",
"HelpText": "The maximum timeout in seconds for each request.",
"DefaultValue": "60",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "0c5e5a4a-35c2-48f7-b0e3-6e2e2b14b383",
"Name": "PowerAutomatePostAdaptiveCard.RetryPosting",
"Label": "Retry posting message",
"HelpText": "Should retries be made? If this option is enabled, the step will attempt to retry the posting of message to teams up to the set retry count. Default: `False`.",
"DefaultValue": "False",
"DisplaySettings": {
"Octopus.ControlType": "Checkbox"
}
},
{
"Id": "b1d2acda-5e82-42a9-bd05-6cc4827f5974",
"Name": "PowerAutomatePostAdaptiveCard.RetryCount",
"Label": "Retry Count",
"HelpText": "The maximum number of times to retry the post before allowing failure. Default 1",
"DefaultValue": "1",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "bc9438f7-3c74-4f2e-a5a5-4cb4c38767d9",
"Name": "PowerAutomatePostAdaptiveCard.RetryDelay",
"Label": "Retry delay in milliseconds",
"HelpText": "The amount of time in milliseconds to wait between retries. Default 100",
"DefaultValue": "100",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "e1606576-d9af-489f-a343-916cc809c1c3",
"Name": "PowerAutomatePostAdaptiveCard.BodyColor",
"Label": "Body Color",
"HelpText": "The color to use for the body of the adaptive card.",
"DefaultValue": "default",
"DisplaySettings": {
"Octopus.ControlType": "Select",
"Octopus.SelectOptions": "default|Default\ndark|Dark\nlight|Light\naccent|Accent\ngood|Good\nwarning|Warning\nattention|Attention"
}
},
{
"Id": "6222bf83-af8b-40dd-a504-eb7ab0208981",
"Name": "PowerAutomatePostAdaptiveCard.ButtonTitle",
"Label": "Button Title",
"HelpText": "The button title of post being added to your Microsoft Teams channel.",
"DefaultValue": "Adaptive Card Designer",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "a550bde0-e622-457c-b2b6-6a6089cf2fa8",
"Name": "PowerAutomatePostAdaptiveCard.ButtonUrl",
"Label": "Button url",
"HelpText": "The button url of post being added to your Microsoft Teams channel.",
"DefaultValue": "https://adaptivecards.io/designer/",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
}
],
"Properties": {
"Octopus.Action.Script.ScriptBody": "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12\n\n# Helper functions\nfunction Retry-Command {\n [CmdletBinding()]\n Param(\n [Parameter(Position=0, Mandatory=$true)]\n [scriptblock]$ScriptBlock,\n \n [Parameter(Position=1, Mandatory=$false)]\n [int]$Maximum = 5,\n\n [Parameter(Position=2, Mandatory=$false)]\n [int]$Delay = 100\n )\n\n Begin {\n $count = 0\n }\n\n Process {\n \t$ex=$null\n do {\n $count++\n \n try {\n Write-Verbose \"Attempt $count of $Maximum\"\n $ScriptBlock.Invoke()\n return\n } catch {\n $ex = $_\n Write-Warning \"Error occurred executing command (on attempt $count of $Maximum): $($ex.Exception.Message)\"\n Start-Sleep -Milliseconds $Delay\n }\n } while ($count -lt $Maximum)\n\n throw \"Execution failed (after $count attempts): $($ex.Exception.Message)\"\n }\n}\n# End Helper functions\n\n[int]$timeoutSec = $null\n[int]$maximum = 1\n[int]$delay = 100\n\nif(-not [int]::TryParse($OctopusParameters['PowerAutomatePostAdaptiveCard.Timeout'], [ref]$timeoutSec)) { $timeoutSec = 60 }\n\nif ($OctopusParameters[\"AutomatePostMessage.RetryPosting\"] -eq $True) {\n\tif(-not [int]::TryParse($OctopusParameters['PowerAutomatePostAdaptiveCard.RetryCount'], [ref]$maximum)) { $maximum = 1 }\n\tif(-not [int]::TryParse($OctopusParameters['PowerAutomatePostAdaptiveCard.RetryDelay'], [ref]$delay)) { $delay = 100 }\n\t\n Write-Verbose \"Setting maximum retries to $maximum using a $delay ms delay\"\n}\n\n# Create the payload for Power Automate\n$payload = @{\n type = \"message\" # Fixed value for message type\n attachments = @(\n @{\n contentType = \"application/vnd.microsoft.card.adaptive\"\n content = @{\n type = \"AdaptiveCard\"\n body = @(\n @{\n type = \"TextBlock\"\n text = $OctopusParameters['PowerAutomatePostAdaptiveCard.Title']\n weight = \"bolder\"\n size = \"medium\"\n color= $OctopusParameters['PowerAutomatePostAdaptiveCard.TitleColor']\n },\n @{\n type = \"TextBlock\"\n text = $OctopusParameters['PowerAutomatePostAdaptiveCard.Body']\n wrap = $true\n color= $OctopusParameters['PowerAutomatePostAdaptiveCard.BodyColor']\n }\n )\n actions = @(\n @{\n type = \"Action.OpenUrl\"\n title = $OctopusParameters['PowerAutomatePostAdaptiveCard.ButtonTitle']\n url = $OctopusParameters['PowerAutomatePostAdaptiveCard.ButtonUrl']\n }\n )\n \"`$schema\" = \"http://adaptivecards.io/schemas/adaptive-card.json\"\n version = \"1.0\"\n }\n }\n )\n}\n\nRetry-Command -Maximum $maximum -Delay $delay -ScriptBlock {\n #Write-Output ($payload | ConvertTo-Json -Depth 6)\n \n # Prepare parameters for the POST request\n $invokeParameters = @{\n Method = \"POST\"\n Uri = $OctopusParameters['PowerAutomatePostAdaptiveCard.HookUrl']\n Body = ($payload | ConvertTo-Json -Depth 6 -Compress)\n ContentType = \"application/json; charset=utf-8\"\n TimeoutSec = $timeoutSec\n }\n\n # Check for UseBasicParsing (needed for some environments)\n if ((Get-Command Invoke-RestMethod).Parameters.ContainsKey(\"PowerAutomatePostAdaptiveCard.UseBasicParsing\")) {\n $invokeParameters.Add(\"UseBasicParsing\", $true)\n }\n\n # Send the request to the Power Automate webhook\n $Response = Invoke-RestMethod @invokeParameters\n Write-Verbose \"Response: $Response\"\n}\n",
"Octopus.Action.Script.Syntax": "PowerShell",
"Octopus.Action.Script.ScriptSource": "Inline"
},
"Category": "Microsoft Power Automate",
"HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates/microsoft-power-automate-post-adaptivecard.json",
"Website": "/step-templates/707e6dae-0d6f-4121-ab8d-6961039c4162",
"Logo": "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",
"$Meta": {
"Type": "ActionTemplate"
}
}Provided under the Apache License version 2.0.