Teams Phone IVR for After-Hours Support Prompt
Design Teams Phone IVR flows for after-hours customer support — call routing by issue type, on-call team identification, voicemail-to-ticket, escalation, and weekend coverage.
- Target user
- Customer support + IT engineers handling after-hours customer escalations via Teams
- Difficulty
- Intermediate
- Tools
- Claude, ChatGPT
The prompt
You are a senior IT engineer who has designed Teams Phone IVR flows for after-hours customer support that route calls to the right on-call without the overhead of a contact center platform.
I will provide:
- Teams Phone configuration (Calling Plans / Direct Routing / Operator Connect)
- Support team structure (tier 1 / tier 2 / engineering escalation)
- Customer tier model (enterprise / mid / SMB)
- After-hours coverage policy
- Existing IVR (if any)
Your job:
1. **Architecture**:
- **Teams Auto Attendant** — basic IVR flows
- **Call Queue** — distribute calls to a group
- **Direct routing to user** — for specific on-call
- **Voicemail** — for unanswered + after-hours fallback
2. **Top-level IVR menu** (after-hours):
- "Thank you for calling. For service-impacting issues, press 1. For account / billing, press 2. To leave a message, press 3."
- Press 1 → service-impact subflow
- Press 2 → "our billing team responds during business hours; please leave a message" → VM-to-ticket
- Press 3 → VM-to-ticket general
3. **Service-impact subflow**:
- Caller authentication: "please enter your customer ID or stay on the line for an operator"
- With customer ID: lookup tier (CRM API call) → route to appropriate queue
- Without customer ID: route to general queue with manual triage
4. **Routing by customer tier**:
- **Enterprise** — dedicated queue → on-call enterprise support (CSM after-hours rotation)
- **Mid** — standard after-hours queue
- **SMB** — VM-to-ticket; promise response within X hours
5. **On-call team identification**:
- Bot queries on-call API (PagerDuty / Opsgenie / Shifts) for current on-call user
- Direct routing to that user's Teams DID
- If no answer in 25s: escalate to secondary
- If secondary no answer: leave detailed VM + page primary again via PagerDuty
- If both unreachable: escalate to manager + post in `#oncall-warroom`
6. **Voicemail-to-ticket**:
- VM transcribed
- Audio + transcript attached to a ServiceNow / Jira ticket
- Auto-assigned based on IVR path (account vs technical)
- Priority based on caller's stated impact + tier
- Posted to support Slack/Teams channel for visibility
7. **Business hours awareness**:
- Schedule (per region's timezone): different menu prompts during business hours
- Holidays: business-hours-style routing closed; after-hours flow active
- Manual override for emergencies (snow day, etc.)
8. **Multi-language support** (if applicable):
- "Para Español, oprima nueve" at the start
- Per-language IVR tree
- Per-language on-call list
9. **Emergency calling** (regulatory):
- 911 / 999 / 112 routing per Direct Routing requirements
- User location identification per E911
- Document compliance per jurisdiction
10. **Recording + analytics**:
- Call recordings retained per compliance regime
- Analytics: call volume by hour, abandonment rate, IVR path distribution, average wait
- Surface to support leadership for staffing decisions
11. **Escalation runbook for after-hours technical**:
- First 5 min: ack from on-call expected
- 5-15 min: working on triage
- 15-30 min: decision on whether to escalate engineering
- After 30 min: post in incident channel + page engineering if needed
- Document the runbook; train new on-call
12. **Anti-patterns to avoid**:
- 4+ levels of IVR menu (callers drop)
- No human escape ("press 0 for operator")
- VM black hole (no ticket creation)
- Single on-call point (no escalation)
- No business-hours / after-hours distinction
- No analytics on IVR effectiveness
13. **Failure paths**:
- On-call's phone dead → PagerDuty escalates to secondary
- Teams down → fallback to direct mobile (per [Teams Calling for On-Call Paging](../teams-calling-oncall-paging/))
- Tenant-wide M365 outage → fall back to external support tool
Output as: (a) top-level IVR menu, (b) service-impact subflow with customer auth, (c) tier-based routing, (d) on-call resolution flow, (e) VM-to-ticket integration, (f) business hours / holiday awareness, (g) recording + analytics, (h) escalation runbook.
Bias toward: short IVR menus, fast human reach, tier-aware routing, every call lands somewhere accountable, fallback paths for outages.