Good day all,
We have been using Slack for a little over a year now as an alternative to SolarWinds Orion alerts being sent as email to text. Slack allows for much better formatting of the alerts than is possible via email to text, making it much easier to construct useful alerts that are easy to read at a glance. The company has made the decision to move the company to Microsoft Teams since we use Skype, and will eventually be forced to transition that direction anyway. I have attempted to recreate all of our current alerts in JSON using some posts that I found on THWACK. Microsoft Teams Integration with Orion Alerts Unfortunately, I was only able to build the most basic of alerts from that information.
As I attempt to recreate some of the more nuanced alerts we are using in Slack, I'm having issues with formatting and testing via the simulate function within the Trigger Actions section of the alert builder. I have tried using the MessageCard Playground to help me format the alerts that are causing me issue. Even when I get the formatting corrected according to the card playground, I'm unable to get those alerts to post in Teams using the simulate functionality.
Additionally, I have added the Post to Teams trigger actions to some live alerts, and we will receive the email, post to Slack, and NPM log actions, but nothing shows up in our Teams channel. If I replace the body of these failing Teams alerts with the more basic format (that is missing the data I need for these alerts) the post to Teams action will trigger and send a message to our channel in Teams.
Has anyone else run across this issue trying to get all of their alerts to post to Microsoft Teams? Any help or suggestions would be greatly appreciated.
SAMPLES OF WORKING FORMAT:
{
"title": "ALERT: ${N=SwisEntity;M=Caption} is ${N=SwisEntity;M=Status}",
"themeColor": "ff0000",
"text": "Node: **[${N=SwisEntity;M=Caption}](${N=SwisEntity;M=DetailsUrl})**
IP: **${N=SwisEntity;M=IP_Address}**
Vendor: **${N=SwisEntity;M=Vendor}**
Model: **${N=SwisEntity;M=MachineType}**
[ACKNOWLEDGE THIS ALERT](${N=Alerting;M=AcknowledgeLink})"
}
------------------------------------------------------------------------------------------------
{
"title": "ALERT: ${N=SwisEntity;M=Caption}",
"themeColor": "ff0000",
"text": "Node: **[${N=SwisEntity;M=Caption}](${N=SwisEntity;M=DetailsUrl})**
Packet Loss: **${N=SwisEntity;M=PercentLoss}**
IP: **${N=SwisEntity;M=IP_Address}**
Vendor: **${N=SwisEntity;M=Vendor}**
Model: **${N=SwisEntity;M=MachineType}**
[ACKNOWLEDGE THIS ALERT](${N=Alerting;M=AcknowledgeLink})"
}
-------------------------------------------------------------------------------------------------
SAMPLES OF BROKEN FORMAT:
{
"title": "ALERT: ${N=SwisEntity;M=Caption} is ${N=SwisEntity;M=Status}",
"themeColor": "ffb400",
"text": "Node: **[${N=SwisEntity;M=Caption}](${N=SwisEntity;M=DetailsUrl})**
Volume: **${SQL: SELECT replace(Caption, '\', '\\') FROM Volumes WHERE VolumeID = ${N=SwisEntity;M=VolumeID}**
Size: **${N=SwisEntity;M=VolumeSize}**
Used: **${N=SwisEntity;M=VolumeSpaceUsed}**
Free: **${N=SwisEntity;M=VolumeSpaceAvailable}**
[ACKNOWLEDGE THIS ALERT](${N=Alerting;M=AcknowledgeLink})"
}
------------------------------------------------------------------------------------------------
{
"title": "ALERT: ${N=SwisEntity;M=Caption} is ${N=SwisEntity;M=Status}",
"themeColor": "ffb400",
"text": "Node: **[${N=SwisEntity;M=Caption}](${N=SwisEntity;M=DetailsUrl})**
Volume: **${SQL: SELECT replace('''${N=SwisEntity;M=VolumeID}''','\',' ')}**
Size: **${N=SwisEntity;M=VolumeSize}**
Used: **${N=SwisEntity;M=VolumeSpaceUsed}**
Free: **${N=SwisEntity;M=VolumeSpaceAvailable}**
[ACKNOWLEDGE THIS ALERT](${N=Alerting;M=AcknowledgeLink})"
}