MS Teams Webhook Example

To integrate groundcover with MS Teams, follow the steps below. Note that you’ll need at least a Business subscription of MS Teams to be able to create workflows.

  1. Create a webhook workflow for your dedicated Teams channel Go to Relevant Team -> Specific Channel -> "Workflows", and create a webhook workflow

  2. Normally you would select "Send webhook alerts to a channel" as your designated workflow

  3. The webhook workflow is associated a URL which is used to trigger the MS Teams integration on groundcover - make sure to copy this URL

  4. Set Up the Webhook in groundcover

    • Head out to the integrations section: Settings -> Connected Apps, to create a new Generic Webhook

    • Start by giving your Webhook integration a name. This name will be used to connect your notification from the monitor directly or through a Notification Route.

    • Set the Webhook URL to the url you copied from field (3)

    • Keep the HTTP method as POST

  5. Skip the other sections and open Custom Payload. Use the following example as your payload. Note that this is only an example and can be modified to fit your needs

{
  "type": "message",
  "attachments": [
    {
      "contentType": "application/vnd.microsoft.card.adaptive",
      "content": {
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
        "type": "AdaptiveCard",
        "version": "1.2",
        "body": [
          {
            "type": "TextBlock",
            "text": "Firing: {{ summary }}",
            "weight": "bolder",
            "size": "large",
            "wrap": true
          },
          {
            "type": "TextBlock",
            "text": "[See monitor]({{urls.monitor}})",
            "wrap": true
          },
          {
            "type": "TextBlock",
            "text": "[Investigate Issue]({{urls.issue}})",
            "wrap": true
          },          
          {
            "type": "TextBlock",
            "text": "[Silence]({{urls.silence}})",
            "wrap": true
          },          
          {
            "type": "TextBlock",
            "text": "{{ description }}",
            "wrap": true
          }
        ]
      }
    }
  ]
}

You may now test your integration or just click the Add button

Last updated