With the announcement of deprecating Connectors in Microsoft Teams, it seems a lot of people are not happy (and rightfully so...). I recently set up a workflow and it took me a day or so to get the right JSON format. I wanted to share my process to hopefully make the transition easier for those transitioning from Connectors. This format is specific to our environment, so you'll need to toy around with it. I tried to make a legit table with columns and grid lines, but gave up b/c I don't have the time. Hope this helps.
Final product:

Here's how I got there:
- Right click your team or chat and select "Workflows"
- Select "Post to a chat when a webhook request is received"
- Name it and click Next
- Add workflow
- Navigate to your new workflow and edit. Below is what my flow looks like:

- Then copy the URL from the top flow and paste this in your alert httpPost along with your JSON:


Here is the JSON code I used:
{
"type": "Application/JSON",
"attachments": [{
"contentType": "object",
"content": {
"type": "AdaptiveCard",
"version": "1.4",
"body": [{
"type": "TextBlock",
"text": "***Solarwinds Alert***",
"isSubtle": false,
"wrap": false,
"size": "Large",
"weight": "Bolder",
"spacing": "None"
}, {
"type": "TextBlock",
"text": "Node **${NodeName}** is ***DOWN***",
"isSubtle": false,
"wrap": false,
"spacing": "None"
}, {
"type": "TextBlock",
"text": "IP ADDRESS: ${N=SwisEntity;M=IP_Address}",
"isSubtle": false,
"wrap": false,
"spacing": "None"
}, {
"type": "TextBlock",
"text": "Alert Trigger Time: ${N=Alerting;M=AlertTriggerTime;F=DateTime}",
"isSubtle": false,
"wrap": false,
"spacing": "None"
}, {
"type": "TextBlock",
"text": "OP LOC: ${N=SwisEntity;M=CustomProperties.OP_LOC}",
"isSubtle": false,
"wrap": false,
"spacing": "None"
}, {
"type": "TextBlock",
"text": "**Please acknowledge ownership and investigate**",
"isSubtle": false,
"wrap": false,
"spacing": "None"
}
]
}
}
]
}
EDIT: I also had to allow a firewall rule outbound from Solarwinds server to the specific Azure FQDN you're sending your POST to.
Edit 2: I did not write this JSON payload. I found it on another forum and just adjusted it to fit our needs.