# ErrorLens × Microsoft Teams — Starter Pack

> Post structured error analysis cards to any Microsoft Teams channel via Incoming Webhooks.

**Category:** Messaging & Alerts
**Required plan:** Starter or higher

---

## 1. Before you start

Connectors → Incoming Webhook on the target Teams channel. Microsoft retired Office 365 connectors mid-2024; use the new Workflows webhooks if your tenant has migrated.

## 2. Configuration fields

| Field | Type | Required | Example |
|-------|------|----------|---------|
| `webhookUrl` | url | yes | `https://…webhook.office.com/…` |
| `channel` | text | yes | `#engineering` |


### Field notes

- **Webhook URL (`webhookUrl`)** — Connectors → Incoming Webhook in a Teams channel


### `config.json` template

Drop this into your config tooling (1Password, Doppler, Vault, ...) — ErrorLens
reads the same shape from your dashboard form.

```json
{
  "webhookUrl": "<your-webhookUrl>",
  "channel": "<your-channel>"
}
```

## 3. What ErrorLens sends

Once configured, ErrorLens POSTs the payload below to the integration the
moment an analysis completes. Use this to write tests for any forwarder /
transformer you wrap around the webhook.

```json
{
  "event": "analysis.completed",
  "analysisId": "7b2f1e9d-...-...-...-...",
  "title": "Production checkout 500s — Dec 1",
  "url": "https://app.errorlens.ai/dashboard/analysis/7b2f1e9d-...",
  "result": {
    "severity": "critical",
    "summary": "NullPointerException in PaymentService.process() during guest checkout.",
    "rootCause": "customer.getPaymentMethod() returns null because guest profiles do not initialize payment methods.",
    "suggestedFix": "Initialize a default payment method on the guest profile, or guard with a null-check in PaymentService.",
    "affectedServices": [
      "payment-svc",
      "order-svc"
    ],
    "occurrences": 148,
    "language": "Java",
    "framework": "Spring Boot"
  },
  "user": {
    "id": "usr_...",
    "email": "on-call@yourcompany.com",
    "plan": "pro"
  },
  "receivedAt": "1970-01-01T00:00:00.000Z"
}
```

## 4. Setting it up in ErrorLens

1. Sign in at https://app.errorlens.ai (or your self-hosted instance).
2. Go to **Dashboard → Integrations**.
3. Find **Microsoft Teams** in the catalog and click **Connect**.
4. Paste the values from your `config.json` into the form.
5. Hit **Save** — the first test event fires immediately.

## 5. Removing the integration

Disabling the integration from the same screen stops further events; it
does NOT revoke the token on the Microsoft Teams side. Rotate or delete the
credential in Microsoft Teams as well if you're decommissioning it.

---

_Generated by ErrorLens · 2026-05-11 ·
provider `teams`_
