This article shows how to setup this script as an alert action. Please take time to review the main overview article if you have not already done so: Slack Alert Integration - Overview. The main overview article contains information necessary to completely setup this script.
This script is specifically designed for component based alerts.

In the Trigger Actions I added 'Execute an External Program' action.

This is the full text in the 'Network path to external program' field.
- C:\windows\system32\windowspowershell\v1.0\powershell.exe -ExecutionPolicy unrestricted -command "<C:\path\to\script>\Slack_Alert_Trigger_Action_Component.ps1 '${N=SwisEntity;M=Application.Node.DisplayName} ' '${N=SwisEntity;M=Application.ApplicationAlert.ApplicationName}' '${N=SwisEntity;M=ComponentAlert.ComponentName} ' '${N=SwisEntity;M=ComponentAlert.ComponentAvailability}' '${N=Alerting;M=AlertDetailsUrl}' '${N=SwisEntity;M=Application.Node.DetailsUrl}' '${N=SwisEntity;M=DetailsUrl}' '${N=Alerting;M=AcknowledgeUrl}' '${N=SwisEntity;M=ComponentAlert.StatisticData}' '${N=Generic;M=DateTime;F=OriginalValue}'"
**You will need to update the <C:\path\to\script> in the above line to the location that you have the script saved.**
I'm passing in the following Orion variables:
- Node Name: ${N=SwisEntity;M=Application.Node.DisplayName}
- Application Name: ${N=SwisEntity;M=Application.ApplicationAlert.ApplicationName}
- Component Name: ${N=SwisEntity;M=ComponentAlert.ComponentName}
- Component Status: ${N=SwisEntity;M=ComponentAlert.ComponentAvailability}
- Node Details Page: ${N=SwisEntity;M=Application.Node.DetailsUrl}
- Alert Details Page: ${N=Alerting;M=AlertDetailsUrl}
- Application Details Page: ${N=SwisEntity;M=DetailsUrl}
- Auto Acknowledge URL: ${N=Alerting;M=AcknowledgeUrl}
- Component Statistic: ${N=SwisEntity;M=ComponentAlert.StatisticData}
- Orion Date/Time: ${N=Generic;M=DateTime;F=OriginalValue}
Once that alert action is completed then copy it to Reset Actions.
Finish editing the alert and you should be done.
**Change Log**
- 2016-03-02 : Initial Release
- 2016-03-18 : Added Alert Name variable into action. Updated and cleaned up script.
- 2016-03-22 : Removed Alert Name variable from alert action.
- 2016-05-06 : Major overhaul. revamped message to Slack attachments for better formatting. Please also update your 'Network path to external program' in the alert action as some variables have been changed/added.
If you find this useful feel free to rate this article.