Skip to content

Microsoft Teams

Setup

1. Create webhook in Teams channel

Teams → channel → (More) → ConnectorsConfigure Incoming Webhook.

Name: „Vesana Alerts". Optional: upload icon.

Create returns a webhook URL like https://outlook.office.com/webhook/....

2. Configure in Vesana

/notification-channelsNew channel → type Teams:

Field Value
Name „Teams #monitoring"
Webhook URL from step 1
Severity filter as usual
Recovery notifications as usual

Format

Adaptive Card with:

  • Severity color (theme: Attention / Warning / Good)
  • Host + service as title
  • Plugin output as body
  • Action buttons („Open host")
┌─ Adaptive Card ────────────────────────┐
│  🔴 CRITICAL                           │
│  web01.acme.local — Disk /var          │
│                                        │
│  Disk usage 96.4% (Threshold 95%)      │
│                                        │
│  Tenant: Acme  ·  Profile: Linux Web   │
│                                        │
│  [Open host]                           │
└────────────────────────────────────────┘

Interactive actions

Teams adaptive cards can have buttons with Action.Http — Ack from Teams could work this way. Currently not implemented (different auth headers than Slack), on the roadmap.

Workaround: Open host leads to the service detail page where ACK is one click away.

Throttle

Teams webhooks have rate limits (~1 req/s per channel). Alert storms can hit 429 — Vesana retries with backoff. If needed:

  • Throttle per channel in Vesana to 2 s
  • Enable grouping in alert rules

Multiple tenants

For MSP setups: a channel per customer tenant. In the channel modal: filter tenant → only alerts of this tenant go to the channel.

Next