Teams Integration
Get BlockSecOps notifications directly in your Microsoft Teams workspace. --- Receive real-time security scan notifications in Microsoft Teams: - Scan...
Microsoft Teams Integration
Get BlockSecOps notifications directly in your Microsoft Teams workspace.
Overview
Receive real-time security scan notifications in Microsoft Teams:
- Scan completion alerts
- Critical vulnerability notifications
- Daily/weekly summary reports
- Actionable message cards
Setup
1. Create Incoming Webhook
- In Teams, go to the channel where you want notifications
- Click ... (More options) → Connectors
- Find Incoming Webhook and click Configure
- Name it "BlockSecOps" and optionally upload an icon
- Click Create
- Copy the webhook URL
2. Add Webhook to BlockSecOps
- Go to Settings → Notification Channels
- Click Add Channel
- Select Microsoft Teams
- Paste the webhook URL
- Configure notification events
- Click Save
3. Test the Connection
- Click Test next to your Teams channel
- Check Teams for a test notification
- If successful, you're ready to go
Configuration Options
Events
Select which events trigger notifications:
| Event | Description |
|---|---|
scan.completed |
Scan finished successfully |
scan.failed |
Scan encountered an error |
vulnerability.critical |
Critical severity found |
vulnerability.high |
High severity found |
Severity Filter
Only notify above a minimum severity:
| Setting | Notifies On |
|---|---|
| Critical only | Critical |
| High and above | Critical, High |
| Medium and above | Critical, High, Medium |
| All | Critical, High, Medium, Low |
Notification Types
Scan Completed
Teams receives an Adaptive Card:
┌─────────────────────────────────────────────────┐
│ ✅ Scan Completed │
├─────────────────────────────────────────────────┤
│ Contract: Token.sol │
│ Status: Completed │
│ │
│ Vulnerabilities Found: │
│ 🔴 Critical: 0 🟠 High: 2 │
│ 🟡 Medium: 5 🟢 Low: 3 │
│ │
│ Scanners: slither, aderyn, mythril │
│ Duration: 45 seconds │
│ │
│ [View Results] [View in Dashboard] │
└─────────────────────────────────────────────────┘
Critical Vulnerability Found
┌─────────────────────────────────────────────────┐
│ 🚨 Critical Vulnerability Detected │
├─────────────────────────────────────────────────┤
│ Title: Reentrancy Vulnerability │
│ Severity: 🔴 Critical │
│ │
│ Contract: Vault.sol │
│ Location: Line 45 │
│ Scanner: Slither │
│ │
│ The withdraw function makes an external │
│ call before updating state variables... │
│ │
│ [View Details] [View Contract] │
└─────────────────────────────────────────────────┘
Scan Failed
┌─────────────────────────────────────────────────┐
│ ❌ Scan Failed │
├─────────────────────────────────────────────────┤
│ Contract: Vault.sol │
│ Error: Compilation failed │
│ │
│ ParserError: Expected ';' but got '}' │
│ at line 23 │
│ │
│ [View Details] │
└─────────────────────────────────────────────────┘
Multiple Channels
Different Channels for Different Projects
Add multiple Teams channels:
- Create separate webhooks for different Teams channels
- Add each webhook in BlockSecOps
- Use filters to route notifications:
Channel: #security-critical
Events: vulnerability.critical
Filter: All projects
Channel: #defi-team
Events: scan.completed, scan.failed
Filter: Projects tagged "defi"
Channel: #nft-team
Events: scan.completed, scan.failed
Filter: Projects tagged "nft"
Webhook URL Management
Regenerating Webhooks
If you need to rotate your webhook URL:
- In Teams, go to channel → Connectors
- Find BlockSecOps webhook → Manage
- Click Regenerate URL
- Update the URL in BlockSecOps settings
Deleting Webhooks
To remove a Teams webhook:
- In BlockSecOps: Settings → Notification Channels → Delete
- In Teams: Connectors → Manage → Remove
Adaptive Card Features
Teams notifications use Adaptive Cards with:
Color-Coded Severity
| Severity | Color |
|---|---|
| Critical | Red |
| High | Orange |
| Medium | Yellow |
| Low | Green |
Action Buttons
Cards include clickable actions:
- View Results: Opens scan results
- View Contract: Opens contract details
- View Dashboard: Opens BlockSecOps dashboard
Collapsible Details
Long descriptions are truncated with "Show more" option.
Rate Limiting
Teams Webhook Limits
Microsoft Teams has rate limits for webhooks:
- 4 messages per second per webhook
- 1 message per second sustained
BlockSecOps automatically:
- Batches rapid notifications
- Queues messages during rate limits
- Retries failed deliveries
Delivery Status
Check delivery status in:
Settings → Notification Channels → Delivery History
Troubleshooting
Not Receiving Notifications
- Verify webhook URL: Ensure URL is correct and not expired
- Test connection: Use the Test button in settings
- Check event filters: Ensure events are enabled
- Check severity filter: Ensure minimum severity is appropriate
Webhook Expired
Teams webhooks can expire. If notifications stop:
- Go to Teams channel → Connectors
- Check if webhook is still active
- Regenerate if needed
- Update URL in BlockSecOps
Cards Not Rendering
If cards appear as plain text:
- Ensure you're using Incoming Webhook connector
- Check that the channel allows connectors
- Try a different channel
Authentication Errors
If you see 401/403 errors:
- Webhook URL may be invalid
- Workspace permissions may have changed
- Regenerate the webhook URL
Security Considerations
What's Shared
Teams notifications include:
- Contract and scan identifiers
- Vulnerability titles and severities
- File names and line numbers
- Links to BlockSecOps (authentication required)
Notifications do not include:
- Source code content
- Code snippets
- Detailed vulnerability descriptions
Webhook URL Security
- Treat webhook URLs as secrets
- Don't commit URLs to version control
- Use environment variables in CI/CD
- Rotate URLs periodically
Comparison with Other Channels
| Feature | Teams | Slack | Discord |
|---|---|---|---|
| Adaptive Cards | Yes | No (Block Kit) | No (Embeds) |
| Interactive buttons | View only | Full | View only |
| Rate limits | Strict | Moderate | Moderate |
| Enterprise SSO | Yes | Yes | No |
Next Steps
- Slack Integration - Slack notifications
- Discord Integration - Discord notifications
- Webhooks - Custom HTTP webhooks