For partners subscribed to Select or Enterprise plans.
This article will walk you through the steps for configuring IT Glue and Slack to send webhook notifications to a Slack 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, which is 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.
- You must have Manager or Administrator access to configure IT Glue workflows.
Enable Incoming Webhooks
- In your main Slack screen, click on your company name at the top of the left-hand menu.
- Navigate to Administration > Manage apps.
- In the Apps screen, click on Build in the top-right corner and then on the Start Building button.
- In the Create a Slack App screen, enter an app name and select your Slack Workspace in the drop-down. Click Create App.
- In the Basic Information screen, click on Incoming Webhooks.
- Click the toggle switch to On beside the Activate Incoming Webhooks section. Once turned on, a Webhook URLs for Your Workspace section will appear. Click on the Add New Webhook to Workspace button.
Create an Incoming Webhook
- In the following screen, select a channel that the app will post to and then click the Authorize button.
- You will be sent back to the app settings page. Your new Webhook URL will appear in the Webhook URLs for Your Workspace section that will look something like the below example URL. Then, click the Copy button.
Keep this window open to refer the instructions on how to construct the JSON payload.
Defining the trigger and filters
- Log into IT Glue and navigate to Account > Workflows. Then, click on + New.
- Choose the trigger you want to use, for example, Flexible Asset Expirations.
- To configure the trigger:
- Trigger Name: Enter a descriptive name for the trigger (e.g. Send license expiration alerts to Slack).
- 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. For example, if you enter 10, you will receive notice 10 days in advance of the expiration date.
- (Optional) Select the Expire sooner than the lead time and Have already expired checkboxes to schedule a one-time job that will notify you of existing assets that are about to expire (i.e. sooner than the specified lead time) and are already expired.
- Notification Failure Email: When notifications fail, an email will be sent to this email address from email@example.com.
- If you chose an expiration-based trigger, you can estimate how many notifications your trigger criteria will generate by clicking the Estimate How Many button.
- To add a filter, click the + Filter button (left side of the screen) and select your filter criteria using the drop downs.
- Click Next.
Defining the action
- Next, choose the action that will be triggered.
- To configure the action:
- Action Name: Enter a descriptive name for the action (e.g. Notify in #general Slack channel 10 days in advance).
- Webhook URL: Enter the Webhook URL copied from Slack.
- JSON Payload: Enter a key/value pair. The value you associate with the text key is the message that will be posted to your Slack channel.
This key/value pair includes variables that will pull values from the asset that’s triggering the notification. The available variables are listed at the bottom of the screen where you input this information. Having trouble formatting the message? Try reading the Slack documentation. Note: Line breaks are not currently supported.
Your team will now start receiving notifications to Slack 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 a system of emoji reactions to let team members claim, investigate, and mark problems as resolved, or have conversations about specific notifications.
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 Slack. The link is there, but it is not clickable. Annoying!
You can modify the JSON payload in IT Glue to wrap the link in the Slack markdown for creating a link, which is <Link URL|Link Text>.
- To hyperlink the word Link, you would use this as the link markdown:
- To hyperlink the
[resource_name]variable, which is the name of the asset, you would use this as the link markdown:
- To hyperlink the URL itself, you would use this as the link markdown:
Can I use the IT Glue logo in my notifications?
Yes, you can download either of the following icons to upload to Slack. This will help your team visually verify where the messages originated: