Unsolved
Moderator
•
2 Posts
•
6 Points
0
7
July 15th, 2026 15:00
Dell AIOps Webhooks Integration with Microsoft Teams

Introduction:
Webhooks are a powerful way to integrate Dell AIOps with your existing communication and collaboration tools. By connecting webhooks to platforms like Microsoft Teams, you can receive real-time notifications about critical infrastructure events directly in your team's channels. This integration enables your operations team to stay informed, respond faster to issues, and reduce the time it takes to resolve problems.
Dell AIOps webhooks provide the flexibility to send customized notifications to any platform that supports incoming webhooks. With Microsoft Teams integration, you can format rich, visually compelling messages using Adaptive Cards that include relevant context about health issues, system status, and recommended actions. This means your team doesn't need to log into Dell AIOps to understand what's happening—the information comes to them.
In this guide, you'll learn how to configure a webhook that sends health issue notifications from Dell AIOps to Microsoft Teams. By the end of this walkthrough, you'll be able to create custom notifications that keep your team informed and enable faster incident response.
Steps:
- Create a new Team in Teams or within an already existing one add in the webhook feature per the instructions here: Create an Incoming Webhook - Teams | Microsoft Learn. Once all the steps have been completed you will receive a unique webhook URL that will be needed for the configuration in Dell AIOps that will be formatted like: https://XXXXXXXX.webhook.office.com/PLACEHOLDER
- In Dell AIOps, select ‘Admin->Integrations->Webhooks->Add New Webhook’. For this example:
- Select ‘Health Issue Change’ as the ‘Event Type’
- Provide a ‘Name’ for this webhook
- Paste the URL from Teams as the ‘Payload URL’
- Provide a secret – this is a required field but is not used by Teams. Enter any value. In other integrations, the secret generates an HMAC signature that the receiving application can use to verify the sender.
- Select ‘No’ for Server Authentication. This is not required for Teams integration.

3. In the ‘Policy’ screen, select which systems this webhook will be active for. If no policy is set, the webhook will be active for all systems.
4. In the ‘Payload’ screen, we need to configure the payload that will be sent to Teams in the event of a health issue change.

Variables and additional headers other than ‘Content-Type’ are not required for this example.
Adaptive Cards are an open card exchange format enabling developers to exchange UI content in a common and consistent way. These are platform-agnostic snippets of UI, authored in JSON, that apps and services can openly exchange and can be directly integrated with Teams. Additional information on Microsoft Teams Adaptive Cards can be found here: Welcome - Adaptive Cards.
In the ‘Payload’ text entry box at the bottom right, enter the following JSON:
{ "type": "message", "attachments": [ { "contentType": "application/vnd.microsoft.card.adaptive", "content": { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.4", "body": [ { "type": "TextBlock", "size": "Large", "weight": "Bolder", "text": "{{ state }} Health Issue for {{ system }}" }, { "type": "TextBlock", "text": "Health Score: {{ system_current_score }} | Severity: {{#iflt system_current_score 71}} CRITICAL{{else}}{{#iflt system_current_score 95}}MAJOR{{else}}OK{{/iflt}}{{/iflt}}", "wrap": true }, { "type": "TextBlock", "text": "**Description:** {{ description }}", "wrap": true }, { "type": "TextBlock", "text": "**Resolution:** {{ resolution }}", "wrap": true }, { "type": "ColumnSet", "columns": [ { "type": "Column", "width": "stretch", "items": [ { "type": "TextBlock", "text": "**System:** {{ system }}", "wrap": true }, { "type": "TextBlock", "text": "**Impact:** {{ impact }}", "wrap": true }, { "type": "TextBlock", "text": "**Impacted Object:** {{ impacted_object_name }}", "wrap": true } ] }, { "type": "Column", "width": "stretch", "items": [ { "type": "TextBlock", "text": "**Model:** {{ system_model }}", "wrap": true }, { "type": "TextBlock", "text": "**Category:** {{ category }}", "wrap": true }, { "type": "TextBlock", "text": "**Object Type:** {{ impacted_object_native_type }}", "wrap": true } ] } ] } ], "actions": [ { "type": "Action.OpenUrl", "title": "View in AIOps", "url": "https://aiops.dell.com/ui/index.html#/proactivehealth" } ] } } ] } |
Within the Dell AIOps GitHub page, there is a JSON document of the above text that you can utilize.
The above JSON will generate a notification in Teams that looks like:

This JSON combines three syntax systems:
- JSON format for the webhook HTTP POST body.
- Adaptive Card schema defines the visual layout (TextBlocks, Columns, Actions).
- Dell AIOps Handlebars (conditional logic and substitution syntax).
Throughout the JSON, values wrapped in double curly braces (e.g., {{ system }}, {{ description }}) are Dell AIOps template variables. At send time, AIOps automatically substitutes these with actual values from the health issue event.
Within the Attachment Object, the “contentType” tells Teams to render this as an Adaptive Card and the ‘content’ includes the actual Adaptive Card definition.
In the body, four TextBlock elements and one ColumnSet are contained and render in order from top to bottom. First there is a Title TextBlock, second a Health Score with Conditional Severity Logic, and third there are Description and Resolution TextBlocks. The Health Score TextBlock is the most complex element and uses nested Handlebars-style conditionals provided by Dell AIOps.
{{#iflt system_current_score 71}} CRITICAL {{else}} {{#iflt system_current_score 95}} MAJOR {{else}} OK {{/iflt}} {{/iflt}} |
The logic evaluates as follows: First, if the health score is less than 71, display CRITICAL. Otherwise, if the score is less than 95, display MAJOR. If neither condition is met (score is 95 or above), display OK.
Health Score Severity
< 71 |
CRITICAL |
71 -- 94 |
MAJOR |
>= 95 |
OK |
Full reference for the helper commands can be found here : https://developer.dell.com/apis/4138/versions/1.0/docs/01-Introduction.md
Finally, the ColumnSet arranges system details into two side-by-side columns – System/Impact/Impacted Object on the left, and Model/Category/Object Type on the right.
The ‘actions’ section adds a ‘View in AIOps’ button at the bottom of the card that links directly to the Dell AIOps Proactive Health dashboard.
Some additional notes to know about webhooks and Microsoft Teams:
- There is a message size limit of 28 KB for Teams. If the size exceeds the limit, you will receive an error.
- If more than four requests are made in a second, the client connection is throttled until the window refreshes for the duration of the fixed rate.
- Clicking the ‘Test Payload’ button at bottom right will validate the payload syntax and highlight any errors that need correction before the webhook can be tested and saved.
- On the ‘Test Webhook’ screen, the ‘Test Webhook’ button will send the configured payload with dummy values to the URL that was configured in Step 2. This allows validation and confirmation of both communication and expected format. Once completed, the webhook can be saved.
Attached is a JSON file with the information that can be copy and pasted into your own environment. https://github.com/dell/dell-aiops/blob/main/webhook/Teams.json
#Iwork4Dell

