Setting up Microsoft Teams webhook notifications

For partners subscribed to Select or Enterprise plans.

Introduction

Use this article as a guide to configuring IT Glue and Microsoft Teams so that you can send webhook notifications to a Microsoft Teams channel when specific events occur. For an introduction to workflows, refer to our Quick guide for workflows.

In this article, we will refer to the JSON API - a universal connector for data on the internet. JSON API is a specification for how a client should request that resources be fetched or modified and how a server should respond to those requests. You don’t have to know anything beyond that to begin experimenting with this feature.

Example of a Teams expiration alert (click to enlarge)

Prerequisites

  • You must have a Manager or Administrator IT Glue role to configure workflows.
  • Microsoft Teams must be enabled for your organization.

Instructions

Configuring Microsoft Teams

  1. In Microsoft Teams, select a team and a channel for that team (the channel you want notifications sent to).
  2. Click the ellipsis icon on the right side of the highlighted channel name.
  3. Select Workflows.
    Microsoft_Teams_Connectors-2.png
  4. Choose the webhook template “Post to a channel when a webhook request is received”.
    MS_Teams_Incoming_Webhook.png
  5. Once you select the template you will need to authenticate with your Microsoft account to have your workflows post the channel. Once you have authenticated, please Click on “Next”.
    MS_Teams_New_Webhook-2.png
  6. On the Next page you will asked to choose the channel, after selecting the channel, Click on “Add workflow”.
    MS_Teams_Copy_URL-2.png
  7. Once the workflow is successfully added you’ll see a dialog with the URL, Please copy the URL and Save it or Paste it in the Webhook URL field in IT Glue > Workflows.

  8. 8. Click Done.

Setting up a workflow

The next step is to determine the specific IT Glue event that will trigger an action.

  1. Log in to IT Glue and navigate to Admin > Workflows. Then, click on the green + New button.
    Workflow_New.png
  2. Choose a workflow trigger:
    • Documents - Triggers when a document is published or updated
    • Flag - Triggers when a flag is added, updated, or removed from a document
    • Passwords - Triggers when a password is added or updated
    • Domain Expirations - Triggers when the specified lead time is met on a domain's expiration date
    • SSL Expirations - Triggers when the specified lead time is met on a SSL expiration date
    • Configuration Expirations - Triggers when the specified lead time is met on a configuration's (warranty) expiration date
    • Flexible Asset Expirations - Triggers when the specified lead time is met on a flexible asset's expiration date
  3. Enter the required information for your chosen trigger:
    • Trigger Name: Enter a descriptive name for the notification. The name will be shown in the workflows management page and should be globally unique across workflows to make identification easy.
      Workflows_Trigger_Name.png
    • Notification Failure Email: If there is a bounce back from the notification, an email will be sent to this email address from notifications@itglue.com
      Workflows_Failure_Email.png
    • Notify At (Lead Time): Only applies to expiration-based triggers. Specify the number of days in advance that you want to be notified when an asset is nearing its expiration.
      Workflows___IT_Glue-6.png
    • Also notify on assets that:
      • Expire sooner than the lead time: This will schedule a one-time job that will notify you of existing assets that are about to expire. Click the Estimate How Many button to estimate how many notifications will be triggered when the first job runs. Depending on how much data you have, this might be a large number. Estimates may increase slightly if the below is checked as well.
      • Have already expired: This will schedule a one-time job that will notify you of existing assets that are already expired. After the first job runs, edit the workflow so that it fits your business needs. For example, you may decide not to be notified when configuration items that are past their warranty date are uploaded.
        Workflows___IT_Glue-3.png

      NOTE  This expiration-based trigger is only required in the Domain ExpirationSSL ExpirationConfiguration Expiration, and Flexible Asset Expiration workflows.

  4. To add a filter, click the + Filter button (left side of the screen) and select your filter criteria using the drop-downs. To add additional filter criteria, click the plus icon.
    Configure_Filter.png
  5. Click on Webhook.
    WebHooks.png
  6. Configure the action to create the JSON payload that will be passed to the webhook when the trigger condition is met.
  • Action Name - Enter a descriptive name for the action (e.g. Notify in Asana task 10 days in advance).
  • Webhook URL - Enter the Webhook URL copied from Teams.
  • JSON Payload - Enter a key/value pair. Use multiple key/value pairs to split data across multiple fields (e.g. task name and task notes).

    Key: Type Value: message (Required to send notification to the channel)

    Key: attachments
    Value:
    [{"contentType": "application/json","content": {"type": "AdaptiveCard","body": [{"type": "TextBlock","text": "[resource_name]"}, {"type": "TextBlock","text":"[resource_url]"}]}}]
  • NOTE  This key/value pair includes variables that will pull values from the asset that is triggering the notification. The available variables are listed at the bottom of the screen  when you click "Need Help? Click Here to See Available Variables".

    ConfigureAction.png
  • Click Next.
  • Click the Test Action button to perform the job your action is set to do with some test data.
    Test_Action.png
  • Turn your workflow ON and then click Finish to save all your changes.
    Test_Action_Finish.png

Your team will now start receiving notifications to Teams within the next 24 hours. Note that notifications based on document or password triggers will be sent in real time.

From there, you can use emoji reactions to let team members claim, investigate, and mark problems as resolved, or have conversations about specific notifications.

For further reading, check out Microsoft: Develop custom connectors in Microsoft Teams and HTML formatting for Connector Cards.

Common Questions

I have set up expiration notifications for flexible assets. Currently, it seems that the notifications are for all flexible assets. Can different notifications be set for different flexible assets?

Refer to the instructions above to make sure you configured a filter when you set up the workflow. You can use filters to identify which flexible asset type will be notified on.

I can't get links working in Teams. The link is there, but it is not clickable. Annoying!

You can modify the JSON payload in IT Glue to format the link in the markdown for creating a link, which is [Link Text](Link URL). For example:

  • To hyperlink the word Link, you would use this as the link markdown:
    [Link]([resource_url])
  • To hyperlink the [resource_name] variable, which is the name of the asset, you would use this as the link markdown:
    [[resource_name]]([resource_url])
  • To hyperlink the URL itself, you would use this as the link markdown:
    [[resource_url]]([resource_url])

Can I use the IT Glue logo in my notifications?

Yes, you can download either of the following icons to upload to Teams. This will help your team visually verify where the messages originated:
gluebot-slack-512x512.png2.png