Microsoft Teams Integration
Send API monitoring alerts directly to Microsoft Teams. Perfect for organizations using Microsoft 365 for collaboration.
Why Microsoft Teams?
Your team already uses Teams for communication. When an API fails, you need to know immediately — not when someone checks their email. APIAssert sends rich, actionable alerts to any Teams channel.
What You'll Get
- Adaptive Cards — rich, interactive alert messages
- Instant delivery — real-time notifications via webhooks
- Action buttons — view details, acknowledge alerts
- Custom routing — send different monitors to different channels
Setup Guide
Step 1: Create Incoming Webhook in Teams
- Open Microsoft Teams
- Go to the channel where you want alerts
- Click ... (More options) → Connectors
- Find Incoming Webhook and click Configure
- Name it "APIAssert Alerts"
- (Optional) Upload a custom icon
- Click Create and copy the webhook URL
Step 2: Add Teams Channel in APIAssert
- Go to Alerts → Channels in your APIAssert dashboard
- Click Add Channel → Microsoft Teams
- Paste your webhook URL
- Give the channel a name (e.g., "Teams - API Alerts")
- Click Save
Step 3: Test the Integration
Click Send Test to verify the webhook works. You should see a test message appear in your Teams channel.
Step 4: Assign to Monitors
Edit your monitors and add the Teams channel under Alert Channels.
Alert Format
APIAssert sends Adaptive Cards to Teams:
┌─────────────────────────────────────┐
│ 🔴 Monitor Failed │
│ Production API │
├─────────────────────────────────────┤
│ Status Code 500 │
│ Response Time 2,340ms │
│ Region US East │
│ Time Dec 11, 2:34 PM UTC │
├─────────────────────────────────────┤
│ Assertion Failed: │
│ $.status expected "success", │
│ got "error" │
├─────────────────────────────────────┤
│ [View Details] [Acknowledge] │
└─────────────────────────────────────┘
Configuration Options
| Option | Description |
|---|---|
| Webhook URL | Your Teams incoming webhook URL |
| Include Response Time | Show request duration in alerts |
| Include Region | Show which region detected the issue |
| Include Error Details | Show assertion failure messages |
Best Practices
Use Dedicated Channels
Create separate channels for different alert types:
📊 Monitoring
├── API Alerts
├── Critical Incidents
└── Vendor Status
Configure Notifications
Adjust channel notification settings:
- Right-click the channel → Channel notifications
- Set to "All activity" for critical channels
- Use "Mentions only" for lower-priority channels
Use @Mentions
Configure your webhook to mention specific people or groups when alerts trigger. Note: This requires additional configuration in your webhook handler.
Pin Important Channels
Pin monitoring channels to keep them visible:
- Right-click the channel
- Select Pin
Multiple Teams/Channels
You can send alerts to multiple Teams channels:
- Create webhooks in each channel
- Add each as a separate channel in APIAssert
- Assign monitors to multiple channels as needed
Example routing:
| Monitor Type | Teams Channel |
|---|---|
| Production APIs | #critical-alerts |
| Staging APIs | #dev-alerts |
| Third-party | #vendor-status |
Troubleshooting
Not receiving alerts?
- Verify the webhook URL is correct
- Check that the webhook connector is still configured
- Ensure the channel hasn't been deleted or moved
Cards not rendering?
- Microsoft Teams has limits on card complexity
- Check that your Teams client is up to date
- Try the Teams web client if desktop doesn't work
Webhook URL expired?
- Teams webhooks can expire after 90 days of inactivity
- Regenerate the webhook and update APIAssert
Rate limiting?
- Teams limits webhooks to 4 requests per second
- Reduce check frequency for monitors sending to the same channel
Security Considerations
Protect Your Webhook URL
Treat webhook URLs like passwords:
- Don't commit them to source control
- Use environment variables
- Rotate if exposed
Audit Connector Usage
Regularly review connectors in your Teams channels:
- Go to channel settings → Connectors
- Review active webhooks
- Remove unused integrations
Alternative: Teams Workflows
For more control, use Power Automate with APIAssert webhooks:
- Create a APIAssert webhook integration
- Set up a Power Automate flow triggered by HTTP request
- Post to Teams using the Teams connector
- Add custom logic, approvals, or multi-channel routing
Next Steps
- Set up Slack for additional team coverage
- Configure PagerDuty for on-call escalation
- Explore alerting features