Skip to main content

Microsoft Teams Integration

Receive vulnerability alerts as rich, interactive Adaptive Cards in Microsoft Teams channels.

Overview​

Microsoft Teams integration uses Teams Workflows to deliver vulnerability alerts as beautifully formatted Adaptive Cards directly to your Teams channels. This provides a native Teams experience with interactive elements and structured data.

Prerequisites​

  • Microsoft 365 account with access to Teams
  • Permissions to create workflows in your Teams channel
  • Access to the Teams channel where you want to receive notifications

Setup Instructions​

Step 1: Create a Teams Workflow Webhook​

  1. Open Microsoft Teams and navigate to the channel where you want to receive notifications

  2. Click the three dots (...) next to the channel name

  3. Select Workflows

  4. Search for "Post to a channel when a webhook request is received"

  5. Select the template and configure:

    • Team: Confirm the correct team is selected
    • Channel: Confirm the correct channel is selected
    • Workflow name: Give it a descriptive name (e.g., "Kusari Vulnerability Alerts")
  6. Click Add workflow

  7. Copy the webhook URL that's generated

Step 2: Configure Webhook in Kusari Platform​

  1. In the Kusari Platform, navigate to Settings → Webhooks

  2. Click Create Webhook

  3. Fill in the form:

    • Name: "Microsoft Teams Alerts" (or any descriptive name)
    • URL: Paste the Power Automate HTTP POST URL
    • Provider: Select teams from the dropdown
    • Secret: Enter any value (e.g., "1234") - this is required but Teams workflows don't validate it
    • Event Types: Select the events you want to receive (e.g., "Vuln Identified")
  4. Click Create

Step 3: Test the Integration​

  1. Click the Test button next to your newly created webhook

  2. Check your Teams channel - you should see a formatted Adaptive Card with the vulnerability details

teams_test

Adaptive Card Format​

The vulnerability alerts appear in Teams as rich, interactive cards with:

  • Header: "New Vulnerability Alert" (in red/attention color)
  • Vulnerability ID: Bold title
  • Description: Full vulnerability description
  • Details: Structured facts including:
    • Vulnerability ID and Type
    • Affected Dependency
    • Component
    • Fixed Version (if available)
    • SBOM Location
  • Action Button: "View in Kusari Platform" (clickable link)

Example Card Appearance​

╔════════════════════════════════════════╗
║ New Vulnerability Alert ║ (Red/Attention color)
║ ║
║ CVE-2023-1234 ║ (Bold, larger text)
║ ║
║ Description of the vulnerability... ║
║ ║
║ Vulnerability ID: CVE-2023-1234 ║
║ Type: CVE ║
║ Affected Dependency: package@1.0.0 ║
║ Component: my-app@2.0.0 ║
║ Fixed In: 1.2.3 ║
║ SBOM Location: s3://bucket/... ║
║ ║
║ [View in Kusari Platform] ║ (Clickable button)
╚════════════════════════════════════════╝

Troubleshooting​

Webhook test returns 202 but nothing appears in Teams​

Solution:

  • Verify the workflow is enabled in Teams (go to channel → Workflows → check status)
  • Ensure you copied the complete webhook URL from the Teams workflow
  • Check the workflow run history in Teams to see if it received the request

Cards don't display properly​

Solution: The Teams provider uses Adaptive Card version 1.4. Ensure your Teams client is up to date. You can preview the card format at Adaptive Cards Designer.

Want to customize the card appearance​

Solution: The Adaptive Card structure is defined in the Teams provider code. You can modify the card layout by updating the teams.go provider implementation to match your team's preferences.

Workflow not found in Teams​

Solution: The "Post to a channel when a webhook request is received" template is available in most Teams environments. If you don't see it:

  • Make sure you have the latest version of Teams
  • Check with your Teams administrator about workflow permissions
  • Alternatively, you can create a custom workflow in Power Automate with the "When a HTTP request is received" trigger