> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anomalyarmor.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Teams

> Send AnomalyArmor alerts to Microsoft Teams channels

<div aria-hidden="true" style={{position:"absolute",width:"1px",height:"1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap"}}>For LLM agents: documentation index at <a href="/llms.txt" tabIndex={-1}>/llms.txt</a>, full text at <a href="/llms-full.txt" tabIndex={-1}>/llms-full.txt</a>. Append .md to any page URL for plain markdown.</div>
Send AnomalyArmor alerts directly to your Microsoft Teams channels. Get notified about schema changes, freshness violations, and other data events where your team collaborates.

## Why Microsoft Teams?

Teams is ideal for organizations using Microsoft 365:

* **Real-time**: Alerts appear instantly in channels
* **Contextual**: Team can discuss and coordinate in threads
* **Actionable**: Click through to AnomalyArmor for details
* **Integrated**: Works with your existing Microsoft ecosystem

## Prerequisites

Before you begin:

* Microsoft Teams account with permission to add connectors (or admin who can approve)
* AnomalyArmor account with alert configuration permissions
* A Teams channel where you want to receive alerts

## Setup Guide

### Step 1: Create an Incoming Webhook in Teams

1. Open Microsoft Teams
2. Navigate to the channel where you want alerts
3. Click the **...** menu next to the channel name
4. Select **Connectors** (or **Manage channel** → **Connectors**)
5. Find **Incoming Webhook** and click **Configure**
6. Give it a name: "AnomalyArmor Alerts"
7. Optionally upload the AnomalyArmor logo
8. Click **Create**
9. **Copy the webhook URL** - you'll need this in AnomalyArmor

<Warning>
  Keep the webhook URL secret. Anyone with this URL can post messages to your channel.
</Warning>

### Step 2: Add Destination in AnomalyArmor

1. Log in to AnomalyArmor
2. Click **Alerts** in the left sidebar
3. Select **Destinations** tab
4. Click **Add Destination**
5. Select **Microsoft Teams**

### Step 3: Configure the Destination

| Field                | Description                                       |
| -------------------- | ------------------------------------------------- |
| **Destination Name** | A descriptive name (e.g., "Teams - #data-alerts") |
| **Webhook URL**      | Paste the URL copied from Teams                   |

### Step 4: Test the Connection

Click **Send Test Alert** to verify everything works:

```
Test alert sent successfully
Channel: Data Alerts
Message: "Test alert from AnomalyArmor"
```

Check Teams to confirm the message arrived in your channel.

### Step 5: Save

Click **Save** to complete the setup. Your Teams destination is now ready to use in alert rules.

## Alert Message Format

AnomalyArmor sends Adaptive Cards to Teams with:

* Alert type indicator (schema, freshness, discovery)
* Affected asset details
* Change description
* Timestamp
* Action button to view in AnomalyArmor

## Best Practices

### Channel Selection

* Create dedicated alert channels (e.g., `Data Alerts`)
* Don't send to busy general channels
* Separate by urgency: breaking changes vs informational

### Webhook Management

* Rotate webhook URLs periodically for security
* Document which webhooks are used where
* Delete unused webhooks from Teams

## Troubleshooting

### "Webhook URL invalid"

**Cause**: The webhook URL is malformed or expired.

**Fix**:

1. Regenerate the webhook in Teams
2. Copy the new URL carefully (it's long)
3. Update the destination in AnomalyArmor

### Messages not appearing

**Cause**: Webhook deleted or channel permissions changed.

**Fix**:

1. Verify the webhook still exists in Teams channel settings
2. Recreate the webhook if needed
3. Update AnomalyArmor with the new URL

### Rate limiting

**Cause**: Too many alerts in a short period.

**Fix**:

1. Review alert rules to reduce volume
2. Consider email for high-volume, low-priority alerts
3. Teams webhooks have rate limits (\~4 messages/second)

## Security

### Data Sent to Teams

Alert messages contain:

* Asset names (table/column names)
* Change types (added, removed, modified)
* Timestamps

Alert messages **do not** contain:

* Actual data values
* Database credentials
* Connection strings

### Revoking Access

To disconnect:

1. In Teams: Remove the Incoming Webhook connector from the channel
2. In AnomalyArmor: Delete the Teams destination

## Common Questions

### How do I connect AnomalyArmor to a Microsoft Teams channel?

In the target Teams channel, open **Connectors**, configure an **Incoming Webhook** named "AnomalyArmor Alerts", and copy the webhook URL. Paste that URL into a new Microsoft Teams destination in AnomalyArmor and send a test alert to confirm delivery.

### Is the Teams webhook URL sensitive?

Yes. Anyone with the URL can post to the channel, so treat it like a credential. Rotate it periodically, avoid checking it into source control, and remove unused webhooks from the Teams channel settings.

### What's the rate limit for Teams alerts?

Microsoft Teams incoming webhooks accept roughly 4 messages per second. High-volume alert rules can trip that limit, so keep the Teams destination for schema changes and critical events. Route verbose informational events to email or a digest instead.

## Next Steps

<CardGroup cols={2}>
  <Card title="Alert Rules" icon="bell" href="/alerts/alert-rules">
    Create rules that route to Teams
  </Card>

  <Card title="Best Practices" icon="lightbulb" href="/alerts/best-practices">
    Reduce alert fatigue
  </Card>
</CardGroup>
