MS Teams
Create a notification from Ascend to MS Teams.
Prerequisites
- Site Admin, Data Admin, Super Admin, or Data Ops Admin permissions in Ascend
- MS Teams administrative access
Step 1: Setup a Webhook URL in MS Teams.
- Follow the Microsoft instructions for Creating an Incoming Webhook.
- Copy the Webhook URL.
- This provides you a webhook URL for receiving HTTP POSTs from Ascend.
Step 2: Configure the notification in Ascend.
- Navigate to Data Service Settings>Notifications.
- Select ADD A NEW NOTIFICATION.
- Past the Webhook URL into the Notification URL field.
- Select events like transform create/modify/delete, errors, etc.
Step 3: Design your payload template.
- Use Microsoft's Adaptive Card designer for payload template creation.
- Ensure JSON is structured correctly (see sample below).
- See Webhook Notification Event Variables for a comprehensive list of fields.
{
"type": "message",
"attachments": [
{
"contentType": "application/vnd.microsoft.card.adaptive",
"contentUrl": null,
"content": <adaptive card JSON payload>
}
]
}
We utilize the Handlebars syntax for our templates, as mentioned in Monitoring and Nofications. This powerful syntax allows for dynamic features like loops. If you encounter variables that are arrays, be prepared to utilize loops to handle them effectively.
- Below is a sample configuration showing what the Adaptive Card JSON payload may look like.
- The Adaptive Card JSON payload is a JSON object.
- The syntax for the payload may differ based on the different versions of the Microsoft standards.
Please check the exact syntax with the Microsoft standards and only use this sample as a general guide.
{
"type": "message",
"attachments": [
{
"contentType": "application/vnd.microsoft.card.adaptive",
"contentUrl": null,
"content": {
"type": "AdaptiveCard",
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.6",
"body": [
{
"type": "TextBlock",
"text": "Ascend.io Notification",
"wrap": true,
"weight": "Bolder"
},
{
"type": "FactSet",
"facts": [
{
"title": "Action",
"value": "{{event.type}}"
},
{
"title": "Time",
"value": "{{event.eventTime}}"
},
{
"title": "Environment",
"value": "{{event.environment}}"
},
{
"title": "Data Service",
"value": "{{event.dataService.name}}"
},
{
"title": "Dataflow",
"value": "{{event.dataflow.name}}"
},
{
"title": "Component",
"value": "{{event.component.name}}"
}
]
}
]
}
}
]
}
Updated 10 months ago