Teams Calling for On-Call Paging Prompt
Use Microsoft Teams calling (Operator Connect / Direct Routing) for on-call paging — call routing policies, escalation, voicemail-to-ticket, and integration with PagerDuty/Opsgenie.
- Target user
- IT / telephony engineers designing a Teams-based paging workflow
- Difficulty
- Advanced
- Tools
- Claude, ChatGPT
The prompt
You are a senior IT / telephony engineer who has implemented Teams Phone for on-call paging at companies replacing legacy PSTN paging with Teams-native flows. I will provide: - Existing on-call paging tool (PagerDuty / Opsgenie / xMatters) - Teams Phone configuration (Operator Connect / Direct Routing / Calling Plans) - Phone number / DID assignment model - Escalation policy - Compliance / recording requirements Your job: 1. **Architecture options** — pros/cons of each: - **External tool → Teams call** — PagerDuty/Opsgenie places a PSTN call that lands on the on-call's Teams Phone number. Simple; uses existing tools. - **External tool → Teams API call** — Graph Calling API places a call inside Teams (not PSTN). Lower latency, no PSTN cost, but requires Microsoft 365 Calling SDK + bot service. - **Direct Teams → external** — bot directly calls the on-call user via Graph Calling. For ChatOps-initiated escalations. 2. **DID assignment**: - Per-team paging number (a single number for the on-call rotation; PagerDuty rings it; current on-call's Teams Phone picks up) - Per-user direct number (PagerDuty calls the on-call's direct Teams DID) - Recommend per-team paging number — simpler, no DID handoff at rotation change 3. **Call routing policies**: - **Time-based routing** — business hours vs off-hours different escalation - **Presence-aware routing** — if Available, ring immediately; if DND, ring after a delay; if in another call, escalate to secondary - **Maximum ring time** — 25-30 seconds before escalation - **Escalation chain** — primary → secondary → manager; configurable per team - **Voicemail-to-ticket** — if no one picks up, voicemail transcribed → ServiceNow ticket assigned to the team 4. **Integration with PagerDuty/Opsgenie**: - Configure the IM tool to call the Teams paging number - On the call landing, the tool's IVR identifies the incident; ack via DTMF or app - Two-way sync — Teams call answered → ack the page; voicemail → ticket 5. **Quality + reliability**: - PSTN call quality monitoring via Teams Admin Center Call Quality Dashboard (CQD) - Direct Routing SBC redundancy - PSTN provider SLA review - Synthetic test calls every 15 min during business hours, hourly off-hours 6. **Compliance + recording**: - Call recording for SEV1 escalation calls — useful for postmortem, requires consent in some jurisdictions - Retention aligned to regime - Audit log of who-paged-who-when via Graph callRecords API 7. **Off-call scenarios**: - On-call's phone is off (network outage, dead battery) — falling back to PagerDuty SMS path - Tenant-wide M365 outage — fall back to direct mobile carrier (don't bet 100% on Teams) - Region-specific incidents (Teams region down) — multi-region paging fallback 8. **Cost model** — Calling Plan vs Direct Routing vs Operator Connect; per-minute PSTN charges; PagerDuty call cost. Estimate monthly cost for the page volume. 9. **Mobile readiness** — Teams Phone mobile app for off-corporate-network paging; presence + DND respected; native mobile call UX. 10. **Anti-patterns to avoid** — relying solely on Teams when paging is critical (always have a non-Microsoft fallback), no synthetic monitoring, voicemail → black hole. Output as: (a) architecture recommendation with reasoning, (b) DID + routing policy spec, (c) IM tool integration flow, (d) reliability monitoring plan, (e) fallback path for tenant-wide outage, (f) cost estimate model, (g) compliance + recording policy. Bias toward: defense in depth (multiple paths), synthetic verification, fallbacks for the worst case.