📞
D365 Customer Service
Enterprise helpdesk and service management — cases, SLAs, omnichannel, knowledge base, and AI-powered agent tools.
Case ManagementSLAs & EntitlementsOmnichannelKnowledge BaseCopilot AICSAT75 Questions
Questions 1–10 of 75
D365 Customer Service is Microsoft's enterprise helpdesk platform managing the case lifecycle from creation to resolution across multiple channels.
Core capabilities: Case Management (ticketing system), Customer Service Hub (agent workspace), Omnichannel for Customer Service (voice, chat, email, Teams), Knowledge Management (searchable KB articles), Service Level Agreements (SLAs), Entitlements (support contracts), Queues and routing, Customer Service Insights (AI), Copilot for agents.
Key entities: Case, Account, Contact, Activity, Queue, Entitlement, Knowledge Article, SLA, SLA KPI Instance.
Core capabilities: Case Management (ticketing system), Customer Service Hub (agent workspace), Omnichannel for Customer Service (voice, chat, email, Teams), Knowledge Management (searchable KB articles), Service Level Agreements (SLAs), Entitlements (support contracts), Queues and routing, Customer Service Insights (AI), Copilot for agents.
Key entities: Case, Account, Contact, Activity, Queue, Entitlement, Knowledge Article, SLA, SLA KPI Instance.
💡 Pro Tip: Always distinguish between Customer Service and Field Service in interviews. Customer Service = contact centre/helpdesk. Field Service = technicians dispatched to customer sites. They are separate D365 apps that integrate.
The case lifecycle is the end-to-end journey of a customer issue:
Case creation channels: Agent creates manually, Email-to-Case, Web-to-Case (customer portal), Omnichannel (chat, voice), Power Automate trigger.
Standard case statuses: Active (sub-statuses: In Progress, On Hold, Waiting for Customer) → Resolved → Cancelled.
Case lifecycle stages (BPF): Identify (capture customer, verify entitlement) → Research (search KB, review history) → Resolve (document resolution) → Close (confirm with customer, trigger CSAT survey).
Case merge: Multiple cases about the same issue can be merged — all activities and notes from child cases roll up to the master case.
Case creation channels: Agent creates manually, Email-to-Case, Web-to-Case (customer portal), Omnichannel (chat, voice), Power Automate trigger.
Standard case statuses: Active (sub-statuses: In Progress, On Hold, Waiting for Customer) → Resolved → Cancelled.
Case lifecycle stages (BPF): Identify (capture customer, verify entitlement) → Research (search KB, review history) → Resolve (document resolution) → Close (confirm with customer, trigger CSAT survey).
Case merge: Multiple cases about the same issue can be merged — all activities and notes from child cases roll up to the master case.
⚠ Key Point: Case resolution vs Case closure are different. Resolution records the fix. Closure requires customer confirmation. Document explicitly whether the agent can close unilaterally or must wait for customer confirmation.
Service Level Agreements (SLAs) define response and resolution time commitments for cases — triggering automated warnings and escalations when commitments are at risk.
SLA KPIs: First Response By (time from case creation to first response, e.g., 4 business hours). Resolve By (time from case creation to resolution, e.g., 24 business hours).
Configuration steps: Settings → Service Management → Service Level Agreements → New SLA. Add SLA Details (one per KPI). Set conditions (Priority = High → 2 hours; Normal → 8 hours). Define Success Criteria (Status Reason = First Response Sent). Define Warning and Failure actions (email notification, field update, create task).
Business hours: SLA timers pause outside configured business hours. Holidays can be added to the business hours calendar.
SLA KPIs: First Response By (time from case creation to first response, e.g., 4 business hours). Resolve By (time from case creation to resolution, e.g., 24 business hours).
Configuration steps: Settings → Service Management → Service Level Agreements → New SLA. Add SLA Details (one per KPI). Set conditions (Priority = High → 2 hours; Normal → 8 hours). Define Success Criteria (Status Reason = First Response Sent). Define Warning and Failure actions (email notification, field update, create task).
Business hours: SLA timers pause outside configured business hours. Holidays can be added to the business hours calendar.
💡 Pro Tip: Enhanced SLAs are almost always preferred over Standard SLAs — they can PAUSE (when a case goes On Hold waiting for customer, the timer pauses), making measurements fairer. Always recommend Enhanced SLAs.
Entitlements define the support terms a customer is entitled to — how many cases, which channels, at what priority, for what products, within what time period.
Entitlement components: Customer or contact the entitlement applies to, Start and End date, Total terms (number of cases or hours), Remaining terms (decremented with each case), Entitlement channels (phone, email, web), Products covered, SLA association.
How entitlements work: When a new case is created for a customer, D365 checks for active entitlements. If found, it applies the entitlement SLA and decrements the remaining count.
Entitlement templates: Pre-built templates speed up creation of common support packages — "Gold Support: 20 cases, 24/7 phone, 2-hour SLA."
Entitlement components: Customer or contact the entitlement applies to, Start and End date, Total terms (number of cases or hours), Remaining terms (decremented with each case), Entitlement channels (phone, email, web), Products covered, SLA association.
How entitlements work: When a new case is created for a customer, D365 checks for active entitlements. If found, it applies the entitlement SLA and decrements the remaining count.
Entitlement templates: Pre-built templates speed up creation of common support packages — "Gold Support: 20 cases, 24/7 phone, 2-hour SLA."
💡 Pro Tip: Entitlements are often missed in requirements gathering because clients focus on the case workflow. Always ask: "Do you sell support packages? Do some customers get priority support?" These questions surface entitlement requirements.
Omnichannel for Customer Service extends D365 to handle customer interactions across multiple channels — all within a single agent workspace with full conversation context.
Channels supported: Live Chat, Voice (Azure Communication Services), SMS (Twilio/Azure), Email, Teams, WhatsApp, Facebook Messenger, LINE, WeChat, and custom channels via API.
Agent workspace: Agents handle multiple sessions simultaneously (configurable). Each session shows the customer's full history, current case, and KB suggestions. Sessions can be transferred or escalated.
Intelligent routing: Work items routed based on Language, Skill required, Agent capacity, Queue priority, AI-based assignment.
Supervisor dashboard: Real-time view of agent availability, queue depth, handling times, CSAT scores, and SLA compliance.
Channels supported: Live Chat, Voice (Azure Communication Services), SMS (Twilio/Azure), Email, Teams, WhatsApp, Facebook Messenger, LINE, WeChat, and custom channels via API.
Agent workspace: Agents handle multiple sessions simultaneously (configurable). Each session shows the customer's full history, current case, and KB suggestions. Sessions can be transferred or escalated.
Intelligent routing: Work items routed based on Language, Skill required, Agent capacity, Queue priority, AI-based assignment.
Supervisor dashboard: Real-time view of agent availability, queue depth, handling times, CSAT scores, and SLA compliance.
⚠ Key Point: Omnichannel is a significant add-on licence cost. Always confirm which channels the client actually needs before designing the solution. Starting with 2-3 key channels is better than over-scoping to all channels.
Knowledge Management provides a centralised library of articles that agents use to resolve cases faster and customers use for self-service.
Knowledge Article lifecycle: Draft → Approved → Published. Articles go through a review and approval process before going live.
KB features: Rich text editor with images, tables, and attachments. Version control. Language variants (same article in multiple languages). Article ratings and feedback. Views count (popularity tracking).
Integration with cases: When an agent has a case open, D365 automatically suggests relevant KB articles based on the case title and description. Agent can link the article to the case and send a KB link to the customer.
External portal: KB articles can be published to a customer portal (Power Pages) for self-service deflection.
Knowledge Article lifecycle: Draft → Approved → Published. Articles go through a review and approval process before going live.
KB features: Rich text editor with images, tables, and attachments. Version control. Language variants (same article in multiple languages). Article ratings and feedback. Views count (popularity tracking).
Integration with cases: When an agent has a case open, D365 automatically suggests relevant KB articles based on the case title and description. Agent can link the article to the case and send a KB link to the customer.
External portal: KB articles can be published to a customer portal (Power Pages) for self-service deflection.
💡 Pro Tip: KB deflection rate is one of the highest-ROI metrics in customer service. Define a KB deflection target in requirements: "25% of customers resolve their issue from the portal without creating a case." This metric justifies the KB investment.
Queues are holding areas for work items (cases, activities, conversations) waiting to be assigned to an agent.
Queue types: Public queue — visible to multiple users; any queue member can pick up work. Private queue — visible only to members; work assigned from queue.
Routing rules: Automatically route incoming cases to the correct queue based on rules: Case Category = "Billing" → Billing Queue; Customer Tier = "Premium" → Priority Queue.
Unified Routing: More sophisticated routing using Classification rules (AI-powered triage), Skill-based routing, Capacity-based routing, Round-robin and least-active assignment, Queuing priority.
Queue types: Public queue — visible to multiple users; any queue member can pick up work. Private queue — visible only to members; work assigned from queue.
Routing rules: Automatically route incoming cases to the correct queue based on rules: Case Category = "Billing" → Billing Queue; Customer Tier = "Premium" → Priority Queue.
Unified Routing: More sophisticated routing using Classification rules (AI-powered triage), Skill-based routing, Capacity-based routing, Round-robin and least-active assignment, Queuing priority.
💡 Pro Tip: Start requirements for queue design by asking: "Walk me through what happens when a new email arrives from a customer. Who should it go to and how do you decide?" The answer defines all your routing rule requirements.
Email-to-Case automatically creates a Case record when an email arrives at a designated support inbox (e.g., support@company.com).
Configuration steps:
1. Create a mailbox in Exchange/M365 for the support email address.
2. D365: Settings → Email Configuration → Mailboxes → New Queue Mailbox.
3. Enter email address, select the queue it routes to.
4. Approve and Test mailbox connection. Enable Server-Side Sync.
5. Settings → Service Management → Automatic Record Creation rules → New rule for Email entity.
6. Define conditions and map email fields to Case fields (Subject → Case Title, From → Contact, Body → Case Description).
7. Activate rule.
Configuration steps:
1. Create a mailbox in Exchange/M365 for the support email address.
2. D365: Settings → Email Configuration → Mailboxes → New Queue Mailbox.
3. Enter email address, select the queue it routes to.
4. Approve and Test mailbox connection. Enable Server-Side Sync.
5. Settings → Service Management → Automatic Record Creation rules → New rule for Email entity.
6. Define conditions and map email fields to Case fields (Subject → Case Title, From → Contact, Body → Case Description).
7. Activate rule.
💡 Pro Tip: Test Email-to-Case thoroughly in a sandbox before go-live. Common issues: duplicate cases from email threads, signature text polluting case descriptions, and auto-replies creating email loops. All three are configurable but need explicit testing.
CSAT (Customer Satisfaction Score) measures how satisfied customers are after case resolution — collected via surveys sent automatically using Dynamics 365 Customer Voice (formerly Forms Pro).
Configuration: Create a survey in Customer Voice (CSAT or NPS questions). Create a Power Automate flow: "When case status = Resolved AND resolution is X hours old, send survey to Contact email." Survey responses auto-link to the Case record. CSAT scores aggregate on dashboards.
Key metrics to define: CSAT score (average), NPS (% Promoters - % Detractors), Response rate, CSAT by agent, CSAT by case category, CSAT trend over time.
CSAT questions typically include: Overall satisfaction (1-5 or NPS 0-10), Resolution speed rating, Agent helpfulness rating, Free text comment.
Configuration: Create a survey in Customer Voice (CSAT or NPS questions). Create a Power Automate flow: "When case status = Resolved AND resolution is X hours old, send survey to Contact email." Survey responses auto-link to the Case record. CSAT scores aggregate on dashboards.
Key metrics to define: CSAT score (average), NPS (% Promoters - % Detractors), Response rate, CSAT by agent, CSAT by case category, CSAT trend over time.
CSAT questions typically include: Overall satisfaction (1-5 or NPS 0-10), Resolution speed rating, Agent helpfulness rating, Free text comment.
💡 Pro Tip: CSAT data is only useful if someone acts on it. Requirements should include the action workflow — what happens when a customer gives a 1 or 2 star rating? Typically: auto-create a recovery task and notify the supervisor within 2 hours.
Copilot in D365 Customer Service embeds generative AI (powered by Azure OpenAI) directly into the agent workspace to help agents respond faster and more accurately.
Copilot capabilities:
Case summary: Auto-generates a summary of the case history, customer sentiment, and key actions taken.
Draft a response: Suggests a reply to the customer based on KB articles and case context — agent reviews and sends.
Ask a question: Agent asks Copilot a natural language question about policies or procedures — Copilot searches KB and returns a cited answer.
Suggest knowledge articles: Automatically surfaces relevant KB articles.
Licence requirement: Requires D365 Customer Service Enterprise licence plus Copilot add-on.
Copilot capabilities:
Case summary: Auto-generates a summary of the case history, customer sentiment, and key actions taken.
Draft a response: Suggests a reply to the customer based on KB articles and case context — agent reviews and sends.
Ask a question: Agent asks Copilot a natural language question about policies or procedures — Copilot searches KB and returns a cited answer.
Suggest knowledge articles: Automatically surfaces relevant KB articles.
Licence requirement: Requires D365 Customer Service Enterprise licence plus Copilot add-on.
💡 Pro Tip: Position Copilot as an agent assistant, not a replacement. Frame it as: "Copilot helps your best agents perform at their best every day, and brings your average agents up to the level of your best." This framing resonates with management stakeholders.
Questions 11–20 of 75
In D365 Customer Service with Omnichannel, Case and Conversation are related but distinct entities:
Conversation (Omnichannel): A real-time interaction session — a live chat, voice call, or messaging session. Short duration. One agent handles it. On completion, the transcript is stored.
Case (Customer Service): A durable customer issue record that may span multiple interactions over days or weeks. Has a full lifecycle (Active → Resolved → Closed).
Relationship: A Conversation can be associated with a Case. Multiple conversations (follow-up contacts) can link to the same Case. Agents can create a Case directly from a Conversation.
Conversation (Omnichannel): A real-time interaction session — a live chat, voice call, or messaging session. Short duration. One agent handles it. On completion, the transcript is stored.
Case (Customer Service): A durable customer issue record that may span multiple interactions over days or weeks. Has a full lifecycle (Active → Resolved → Closed).
Relationship: A Conversation can be associated with a Case. Multiple conversations (follow-up contacts) can link to the same Case. Agents can create a Case directly from a Conversation.
⚠ Key Point: Many clients assume every chat creates a case. But a quick "what is your return policy?" question does not warrant a case record. Requirements must explicitly define the conditions for auto-case creation vs. no-case conversations.
Escalation rules define automated actions when a case is at risk of breaching SLA, requires senior attention, or has been unresolved too long.
Types of escalation triggers: SLA warning (case approaching deadline → notify agent). SLA failure (case breached SLA → notify supervisor, escalate to senior queue). No activity (no update in X hours → auto-create reminder task). High priority (Critical priority → auto-route to specialist queue). Customer tier (VIP customer → auto-route to premium support queue). Negative sentiment detection → supervisor alert.
Implementation options: SLA Actions (built-in, configure within SLA Definition). Power Automate (complex multi-step escalation logic).
Types of escalation triggers: SLA warning (case approaching deadline → notify agent). SLA failure (case breached SLA → notify supervisor, escalate to senior queue). No activity (no update in X hours → auto-create reminder task). High priority (Critical priority → auto-route to specialist queue). Customer tier (VIP customer → auto-route to premium support queue). Negative sentiment detection → supervisor alert.
Implementation options: SLA Actions (built-in, configure within SLA Definition). Power Automate (complex multi-step escalation logic).
💡 Pro Tip: Use a decision table to document all escalation triggers, conditions, and actions before building. "If Priority 1 case not updated for 2 hours, notify agent AND manager. If not updated for 4 hours, transfer to Critical Case Queue AND notify Service Director." This prevents missing scenarios.
The Customer Service workspace is the modern agent experience — a multi-session, tab-based interface allowing agents to handle multiple cases simultaneously without losing context.
Key productivity features: Multi-session tabs (each open case/conversation is a separate tab — agent switches without losing work). Productivity pane (side panel with Knowledge search, Copilot suggestions, recent cases). Smart assist (AI-powered real-time suggestions as the agent types). Timeline (unified view of all activities, notes, emails, and case history).
vs Customer Service Hub: Hub is the standard model-driven app — single record at a time. Workspace is multi-session, purpose-built for agents handling volume.
Key productivity features: Multi-session tabs (each open case/conversation is a separate tab — agent switches without losing work). Productivity pane (side panel with Knowledge search, Copilot suggestions, recent cases). Smart assist (AI-powered real-time suggestions as the agent types). Timeline (unified view of all activities, notes, emails, and case history).
vs Customer Service Hub: Hub is the standard model-driven app — single record at a time. Workspace is multi-session, purpose-built for agents handling volume.
💡 Pro Tip: High-volume agents (10+ cases per day) should use the workspace. Occasional users can use the Hub. A requirement to reduce average handle time by 15% is best delivered through workspace configuration — reducing clicks and pre-populating information.
Connected Customer Service extends D365 Customer Service with IoT capabilities — allowing devices to automatically create cases and trigger service workflows when anomalies are detected.
How it works: Physical device (industrial pump, HVAC unit, medical device) connected to Azure IoT Hub. Device sends telemetry data (temperature, pressure, error codes). IoT Hub rules detect anomalies (temperature > threshold). Anomaly triggers D365 to create a Case automatically. Case assigned to a service technician with full device context. Technician resolves remotely or dispatches via Field Service.
Business value: Proactive/predictive maintenance — fix issues before the customer notices. Reduces emergency service calls. Improves device uptime SLAs.
How it works: Physical device (industrial pump, HVAC unit, medical device) connected to Azure IoT Hub. Device sends telemetry data (temperature, pressure, error codes). IoT Hub rules detect anomalies (temperature > threshold). Anomaly triggers D365 to create a Case automatically. Case assigned to a service technician with full device context. Technician resolves remotely or dispatches via Field Service.
Business value: Proactive/predictive maintenance — fix issues before the customer notices. Reduces emergency service calls. Improves device uptime SLAs.
💡 Pro Tip: Connected Customer Service requires Azure IoT Hub — a separate Azure resource with its own cost model. Always involve cloud architects in connected service requirements gathering. The D365 side is straightforward; the Azure IoT setup is the complex part.
Case resolution KPIs: First Contact Resolution (FCR) Rate — % cases resolved in first interaction (target: 70-80%). Average Handle Time (AHT). Average Response Time — time from case creation to first agent response. SLA Compliance Rate — % cases resolved within SLA. Case Volume by category and channel. Escalation Rate.
Customer satisfaction KPIs: CSAT Score (average), NPS, Resolution Quality (% cases reopened within 7 days — indicates poor first resolution).
Agent performance KPIs: Cases resolved per agent per day, CSAT per agent, KB article contribution, Adherence to schedules.
Customer satisfaction KPIs: CSAT Score (average), NPS, Resolution Quality (% cases reopened within 7 days — indicates poor first resolution).
Agent performance KPIs: Cases resolved per agent per day, CSAT per agent, KB article contribution, Adherence to schedules.
💡 Pro Tip: Define KPI targets with the client BEFORE go-live. "What does good look like in 6 months?" forces the business to commit to measurable outcomes. Document these targets in the BRD as success criteria — not just features to deliver.
Unified Routing is the intelligent work assignment engine that routes work items to the best available agent based on multiple criteria.
Unified Routing components: Intake rules (determine the workstream a work item enters). Workstreams (define channel and base routing settings). Classification rules (AI-powered or rules-based tagging). Assignment method (Round-robin, least active, most proficient, highest capacity). Skill-based routing (match work to agents with required skills).
Skills: Define skills (Spanish, Billing, Technical Support Level 2) and assign proficiency to agents (1-10). Route to agents with required skill match.
Capacity profiles: Define how many simultaneous work items of each type an agent can handle (max 3 chats + 5 email cases simultaneously).
Unified Routing components: Intake rules (determine the workstream a work item enters). Workstreams (define channel and base routing settings). Classification rules (AI-powered or rules-based tagging). Assignment method (Round-robin, least active, most proficient, highest capacity). Skill-based routing (match work to agents with required skills).
Skills: Define skills (Spanish, Billing, Technical Support Level 2) and assign proficiency to agents (1-10). Route to agents with required skill match.
Capacity profiles: Define how many simultaneous work items of each type an agent can handle (max 3 chats + 5 email cases simultaneously).
💡 Pro Tip: Unified Routing replaces the older Basic Routing. For new implementations, always use Unified Routing — it is the current standard and significantly more powerful. Mentioning this shows awareness of the current platform direction.
Copilot Studio (formerly Power Virtual Agents) is Microsoft's low-code chatbot platform — used to build customer-facing bots that handle common queries before escalating to a human agent.
Common bot use cases: FAQ deflection (order status, return policy, store hours), Account lookup and balance queries, Case status check, Password reset guidance, Appointment booking, Basic troubleshooting guides.
Bot to Agent escalation: When the bot cannot resolve a query, it transfers to a live agent in D365 Omnichannel — passing the full conversation transcript so the agent does not ask the customer to repeat themselves.
KB integration: Bots can search D365 Knowledge Base to answer questions — making KB deflection fully automated.
Common bot use cases: FAQ deflection (order status, return policy, store hours), Account lookup and balance queries, Case status check, Password reset guidance, Appointment booking, Basic troubleshooting guides.
Bot to Agent escalation: When the bot cannot resolve a query, it transfers to a live agent in D365 Omnichannel — passing the full conversation transcript so the agent does not ask the customer to repeat themselves.
KB integration: Bots can search D365 Knowledge Base to answer questions — making KB deflection fully automated.
💡 Pro Tip: Bot deflection rate requirements need to be realistic. 20-30% deflection for a well-configured FAQ bot is achievable. 70%+ requires sophisticated AI and many topics. Set expectations accordingly and document the target deflection rate as a project success criterion.
D365 Field Service manages on-site service — dispatching technicians to customer locations. When a Customer Service case requires on-site resolution, the integration between the two modules is critical.
Integration flow: Customer contacts support → Case created in D365 Customer Service → Agent determines issue requires on-site visit → Agent creates a Work Order in D365 Field Service from the Case → Dispatcher schedules a technician using the Schedule Board → Technician completes work on-site using the mobile app → Case linked to Work Order is automatically updated/resolved.
BA requirements for the integration: What triggers a field visit? Who creates the Work Order — agent or dispatcher? What data from the Case flows to the Work Order? How is case closure triggered by Work Order completion?
Integration flow: Customer contacts support → Case created in D365 Customer Service → Agent determines issue requires on-site visit → Agent creates a Work Order in D365 Field Service from the Case → Dispatcher schedules a technician using the Schedule Board → Technician completes work on-site using the mobile app → Case linked to Work Order is automatically updated/resolved.
BA requirements for the integration: What triggers a field visit? Who creates the Work Order — agent or dispatcher? What data from the Case flows to the Work Order? How is case closure triggered by Work Order completion?
💡 Pro Tip: If a client has both contact centre and field service operations, always assess the integration points early. The data flowing between Case and Work Order must be explicitly documented — this is a common source of scope gaps discovered late in implementation.
Customer Service Insights (embedded AI analytics in D365 Customer Service) provides AI-powered analytics to identify patterns, predict issues, and improve service performance.
Key insight features:
Topic clustering: AI groups similar cases into topics (Billing errors, Login problems) automatically — no manual tagging needed.
CSAT prediction: Predicts which open cases are at risk of low satisfaction based on case attributes and interaction patterns.
Backlog forecasting: Predicts incoming case volume by topic and time period — enables staffing planning.
Emerging issues: Flags topics with sudden volume spikes (potential product defect or outage).
Key insight features:
Topic clustering: AI groups similar cases into topics (Billing errors, Login problems) automatically — no manual tagging needed.
CSAT prediction: Predicts which open cases are at risk of low satisfaction based on case attributes and interaction patterns.
Backlog forecasting: Predicts incoming case volume by topic and time period — enables staffing planning.
Emerging issues: Flags topics with sudden volume spikes (potential product defect or outage).
💡 Pro Tip: Topic clustering is transformative for service operations — it replaces manual case categorisation. If the client currently has agents manually tagging case categories, AI topic clustering eliminates that effort while providing better categorisation.
A D365 Customer Service go-live checklist covers critical configuration that must be complete and tested before users go live:
Foundation: Business Units and Teams configured. Security Roles assigned to all users. Queues created and membership set. Business Hours and Holiday calendar configured.
Case management: Case forms customised (required fields, sections). Subject tree (case categorisation hierarchy). Case statuses and sub-statuses. Email-to-Case rules active and tested. BPF stages defined and published.
SLA and Entitlements: Business hours configured. SLA rules created for each case priority. Warning and failure actions tested. Entitlement templates created.
Data migration: Account and Contact records migrated. Historical cases migrated (if required). Entitlements created per customer.
Foundation: Business Units and Teams configured. Security Roles assigned to all users. Queues created and membership set. Business Hours and Holiday calendar configured.
Case management: Case forms customised (required fields, sections). Subject tree (case categorisation hierarchy). Case statuses and sub-statuses. Email-to-Case rules active and tested. BPF stages defined and published.
SLA and Entitlements: Business hours configured. SLA rules created for each case priority. Warning and failure actions tested. Entitlement templates created.
Data migration: Account and Contact records migrated. Historical cases migrated (if required). Entitlements created per customer.
⚠ Key Point: Do not go live without testing Email-to-Case, SLA timers, and queue assignment end-to-end in the staging environment. These are the highest-risk areas and the hardest to fix after go-live without impacting live operations.
Questions 21–30 of 75
The Subject Tree is a hierarchical categorisation taxonomy for cases — it defines the structured list of topics that agents select when logging a case, enabling consistent classification and accurate reporting.
Subject Tree structure example:
Products → Software → Installation Issues → Windows. Products → Hardware → Printer → Paper Jam. Services → Billing → Invoice Dispute. Services → Account → Password Reset.
Configuration: Settings → Service Management → Subjects → Add Subject. Build the hierarchy by nesting subjects under parent subjects. Subjects are shared across the organisation.
Why it matters: Without a Subject Tree, agents free-type case categories — resulting in inconsistent data ("printer jam", "paper jam", "jam in printer" are all separate in reports). The Subject Tree enforces consistent categorisation.
Subject Tree structure example:
Products → Software → Installation Issues → Windows. Products → Hardware → Printer → Paper Jam. Services → Billing → Invoice Dispute. Services → Account → Password Reset.
Configuration: Settings → Service Management → Subjects → Add Subject. Build the hierarchy by nesting subjects under parent subjects. Subjects are shared across the organisation.
Why it matters: Without a Subject Tree, agents free-type case categories — resulting in inconsistent data ("printer jam", "paper jam", "jam in printer" are all separate in reports). The Subject Tree enforces consistent categorisation.
💡 Pro Tip: Run a "Subject Tree Workshop" with service team leads before configuring. Get agreement on the top 2-3 levels before go-live — the tree is difficult to restructure retroactively once cases are logged against specific subjects.
Status and Status Reason are two separate fields that together define where a case is in its lifecycle:
Status (system field, fixed values): Active (case is open and being worked), Resolved (issue has been fixed), Cancelled (case closed without resolution).
Status Reason (configurable sub-status): Each Status has configurable Status Reasons. Active Status Reasons: In Progress, On Hold, Waiting for Customer, Waiting for Details, Escalated. Resolved Status Reasons: Problem Solved, Information Provided, Workaround Provided, Cannot Reproduce. Cancelled Status Reasons: Duplicate Case, Customer Withdrawn, Out of Scope.
Configuration: Power Apps → Tables → Case → Columns → Status Reason field → Edit choices per Status value.
SLA interaction: When a case moves to "On Hold" Status Reason, the SLA timer can be paused (with Enhanced SLA). When moved back to "In Progress", the timer resumes.
Status (system field, fixed values): Active (case is open and being worked), Resolved (issue has been fixed), Cancelled (case closed without resolution).
Status Reason (configurable sub-status): Each Status has configurable Status Reasons. Active Status Reasons: In Progress, On Hold, Waiting for Customer, Waiting for Details, Escalated. Resolved Status Reasons: Problem Solved, Information Provided, Workaround Provided, Cannot Reproduce. Cancelled Status Reasons: Duplicate Case, Customer Withdrawn, Out of Scope.
Configuration: Power Apps → Tables → Case → Columns → Status Reason field → Edit choices per Status value.
SLA interaction: When a case moves to "On Hold" Status Reason, the SLA timer can be paused (with Enhanced SLA). When moved back to "In Progress", the timer resumes.
💡 Pro Tip: Status Reason values drive reporting and SLA behaviour. Define all required Status Reasons in requirements before build — adding new values after go-live causes historical reporting inconsistency. Present the full Status Reason list to the service team for sign-off before configuration.
In D365 Customer Service, Case and Incident are the same entity — "Incident" is the internal schema name (entity logical name:
Why this matters in practice: When writing Power Automate flows, configuring plugins, or working with the Dataverse API, you reference the
Common confusion areas: Advanced Find searches for "Cases." Power Automate connector uses "Cases." Dataverse API uses "incidents." Reports built on FetchXML use "incident."
Historical context: Microsoft inherited the "Incident" terminology from early CRM systems that modelled service requests as incidents (ITIL influence). The display name was changed to "Case" to be more business-friendly, but the underlying schema was never renamed.
incident), while "Case" is the display name shown to users in the interface.Why this matters in practice: When writing Power Automate flows, configuring plugins, or working with the Dataverse API, you reference the
incident table and incidentid field — not "case." When configuring security roles, the entity is listed as "Case" in the UI but "Incident" in the schema.Common confusion areas: Advanced Find searches for "Cases." Power Automate connector uses "Cases." Dataverse API uses "incidents." Reports built on FetchXML use "incident."
Historical context: Microsoft inherited the "Incident" terminology from early CRM systems that modelled service requests as incidents (ITIL influence). The display name was changed to "Case" to be more business-friendly, but the underlying schema was never renamed.
💡 Pro Tip: When working with developers and integration teams, always clarify "Case = Incident" early. A common integration error: a developer queries the "cases" OData endpoint which does not exist — the correct endpoint is "incidents". Document this in your integration specifications.
Case Merge and Case Parenting are two different approaches to handling related cases:
Case Merge: When two cases relate to the same issue (e.g., a customer emailed AND called about the same problem — creating two cases), you merge them. The secondary case closes and all its activities, notes, and emails roll up to the primary case. The customer's history is preserved in one place.
How to merge: Open the primary case → Command bar → Merge Cases → Search for the secondary case → Confirm merge.
Parent-Child Cases: A parent case can have multiple child cases — used when one incident affects many customers (e.g., a service outage). Parent case tracks the overall issue. Child cases track individual customer impacts. When the parent case is resolved, all child cases can be resolved automatically.
When to use which: Same customer, same issue → Merge. Same issue affecting many customers → Parent-Child.
Case Merge: When two cases relate to the same issue (e.g., a customer emailed AND called about the same problem — creating two cases), you merge them. The secondary case closes and all its activities, notes, and emails roll up to the primary case. The customer's history is preserved in one place.
How to merge: Open the primary case → Command bar → Merge Cases → Search for the secondary case → Confirm merge.
Parent-Child Cases: A parent case can have multiple child cases — used when one incident affects many customers (e.g., a service outage). Parent case tracks the overall issue. Child cases track individual customer impacts. When the parent case is resolved, all child cases can be resolved automatically.
When to use which: Same customer, same issue → Merge. Same issue affecting many customers → Parent-Child.
💡 Pro Tip: Parent-child case configuration is often requested by clients who manage service outages. Define the business rules: "When a parent case is resolved, auto-resolve all open child cases? Or notify agents to individually confirm?" This drives configuration of the cascade resolution setting.
Routing Rules automatically route incoming cases to the correct queue or agent based on defined conditions — replacing manual triage by supervisors.
Routing Rule configuration: Settings → Service Management → Routing Rule Sets → New. Add Rule Items (each rule item is one routing condition). Rule Item conditions: Case Origin (Email, Phone, Web), Case Priority (High, Normal, Low), Customer Tier (custom field), Subject Category, Customer Account.
Routing actions: Route to Queue (send case to a specific queue like "Tier 1 Support" or "VIP Support"). Route to User (assign directly to a named agent — rare, usually queues are preferred). Route to Team.
Rule evaluation order: Rule items are evaluated top-to-bottom. First matching rule wins. More specific rules must be placed above more general rules.
Example: Rule 1: Priority = Critical → VIP Queue. Rule 2: Origin = Email AND Subject Contains "billing" → Billing Queue. Rule 3: All others → General Support Queue.
Routing Rule configuration: Settings → Service Management → Routing Rule Sets → New. Add Rule Items (each rule item is one routing condition). Rule Item conditions: Case Origin (Email, Phone, Web), Case Priority (High, Normal, Low), Customer Tier (custom field), Subject Category, Customer Account.
Routing actions: Route to Queue (send case to a specific queue like "Tier 1 Support" or "VIP Support"). Route to User (assign directly to a named agent — rare, usually queues are preferred). Route to Team.
Rule evaluation order: Rule items are evaluated top-to-bottom. First matching rule wins. More specific rules must be placed above more general rules.
Example: Rule 1: Priority = Critical → VIP Queue. Rule 2: Origin = Email AND Subject Contains "billing" → Billing Queue. Rule 3: All others → General Support Queue.
💡 Pro Tip: Routing Rule Sets vs Unified Routing: Routing Rule Sets are the legacy routing mechanism. Unified Routing (newer, AI-powered) is the strategic path. For new implementations, always use Unified Routing — it supports skill-based routing, capacity management, and AI classification that Routing Rule Sets cannot do.
Agent Scripts in D365 Customer Service provide step-by-step guidance to agents during a customer interaction — ensuring consistent service quality and regulatory compliance across all agents regardless of experience level.
Agent Script components: Script Steps (ordered steps the agent follows — each step has a title, instructions, and an action). Action types per step: Text (display-only instructions for the agent), Macro (execute an automated action — open a form, create a record, send email), Agent Script (switch to a different script — for branching scenarios).
Example script for a billing query: Step 1: Greet customer and verify identity (macro: open identity verification form). Step 2: Ask for account number (text instruction). Step 3: Pull up billing history (macro: open Account billing view). Step 4: Resolve or escalate (branch: if resolved, log resolution; if escalated, switch to Escalation Script).
Macros: Agent Script macros are pre-configured automations that execute in one click — opening a tab, creating a case, sending an email template — saving agents 30-60 seconds per interaction.
Agent Script components: Script Steps (ordered steps the agent follows — each step has a title, instructions, and an action). Action types per step: Text (display-only instructions for the agent), Macro (execute an automated action — open a form, create a record, send email), Agent Script (switch to a different script — for branching scenarios).
Example script for a billing query: Step 1: Greet customer and verify identity (macro: open identity verification form). Step 2: Ask for account number (text instruction). Step 3: Pull up billing history (macro: open Account billing view). Step 4: Resolve or escalate (branch: if resolved, log resolution; if escalated, switch to Escalation Script).
Macros: Agent Script macros are pre-configured automations that execute in one click — opening a tab, creating a case, sending an email template — saving agents 30-60 seconds per interaction.
💡 Pro Tip: Agent Scripts are most valuable in regulated industries (financial services, healthcare) where the agent must follow a specific process for compliance. The script creates an auditable trail of steps followed. During requirements, ask: "Are your agents required to follow a specific script for compliance reasons?" If yes, Agent Scripts are a requirement, not a nice-to-have.
The Timeline on the Case record is the central interaction history panel — showing every email, phone call, note, task, appointment, and chat transcript in chronological order. It is the most-used area of the Case form for service agents.
Timeline configuration options: Which activity types appear (emails, phone calls, tasks, custom activities). Default sort order (newest first or oldest first). Whether to show activities from related records (e.g., show Account-level activities on the Case timeline). Note attachment settings (allow/block file attachments). Filter options visible to agents.
Pinning and filtering: Agents can pin important entries (e.g., the initial complaint email) to the top of the Timeline. Filter bar allows agents to show only emails, or only phone calls, reducing noise on busy cases.
Email threading: Email replies chain together in the Timeline — the agent sees the full email conversation thread rather than individual messages. The thread is expandable/collapsible.
Timeline configuration options: Which activity types appear (emails, phone calls, tasks, custom activities). Default sort order (newest first or oldest first). Whether to show activities from related records (e.g., show Account-level activities on the Case timeline). Note attachment settings (allow/block file attachments). Filter options visible to agents.
Pinning and filtering: Agents can pin important entries (e.g., the initial complaint email) to the top of the Timeline. Filter bar allows agents to show only emails, or only phone calls, reducing noise on busy cases.
Email threading: Email replies chain together in the Timeline — the agent sees the full email conversation thread rather than individual messages. The thread is expandable/collapsible.
💡 Pro Tip: Configure the Timeline to show activities from related Account and Contact records — not just the Case itself. An agent handling a billing dispute benefits from seeing that the customer also has an unresolved case from last month. This context dramatically improves first-contact resolution rates.
Two different D365 Customer Service interfaces that serve different use cases:
Customer Service Hub: The standard model-driven app for D365 Customer Service. Used for managing cases, knowledge articles, SLAs, and queues. Single record view — agent works on one case at a time. Ideal for: back-office agents handling complex cases, knowledge authors, supervisors managing queues. Licence: D365 Customer Service Professional or Enterprise.
Omnichannel for Customer Service: A multi-session agent workspace that handles real-time channels (chat, voice, SMS, social) alongside case management. Multiple simultaneous sessions. Built-in customer identification panel, sentiment indicator, agent assist (Copilot suggestions). Ideal for: contact centre agents handling live interactions. Licence: D365 Customer Service Enterprise + Digital Messaging or Voice add-on.
Key difference: Customer Service Hub is for asynchronous case work. Omnichannel is for real-time customer interactions plus case management in one workspace.
Customer Service Hub: The standard model-driven app for D365 Customer Service. Used for managing cases, knowledge articles, SLAs, and queues. Single record view — agent works on one case at a time. Ideal for: back-office agents handling complex cases, knowledge authors, supervisors managing queues. Licence: D365 Customer Service Professional or Enterprise.
Omnichannel for Customer Service: A multi-session agent workspace that handles real-time channels (chat, voice, SMS, social) alongside case management. Multiple simultaneous sessions. Built-in customer identification panel, sentiment indicator, agent assist (Copilot suggestions). Ideal for: contact centre agents handling live interactions. Licence: D365 Customer Service Enterprise + Digital Messaging or Voice add-on.
Key difference: Customer Service Hub is for asynchronous case work. Omnichannel is for real-time customer interactions plus case management in one workspace.
💡 Pro Tip: Always ask in requirements: "Do your agents handle real-time channels (live chat, phone) or only email and web cases?" If yes to real-time channels, Omnichannel is required. This is a significant licence cost difference that must be clarified in the first requirements meeting.
Automatic Record Creation (ARC) rules are the mechanism behind Email-to-Case — translating incoming emails into case records automatically.
Detailed ARC rule configuration:
1. Settings → Service Management → Automatic Record Creation and Update Rules → New.
2. Source type: Email. Select the queue mailbox (support@company.com).
3. Specify Record Type to Create: Case.
4. Conditions: Set filters to control which emails create cases. "Do not create case if sender is an internal user." "Do not create case if email subject contains [Out of Office]."
5. Field mapping: Email Subject → Case Title. Email Body → Case Description. From email → Contact lookup (create contact if not found).
6. Advanced settings: Auto-response email template (immediate acknowledgement). Duplicate case detection (if case already exists for this contact in last 24 hours, append to existing case rather than create new).
Detailed ARC rule configuration:
1. Settings → Service Management → Automatic Record Creation and Update Rules → New.
2. Source type: Email. Select the queue mailbox (support@company.com).
3. Specify Record Type to Create: Case.
4. Conditions: Set filters to control which emails create cases. "Do not create case if sender is an internal user." "Do not create case if email subject contains [Out of Office]."
5. Field mapping: Email Subject → Case Title. Email Body → Case Description. From email → Contact lookup (create contact if not found).
6. Advanced settings: Auto-response email template (immediate acknowledgement). Duplicate case detection (if case already exists for this contact in last 24 hours, append to existing case rather than create new).
💡 Pro Tip: The "duplicate case detection" setting prevents a flood of cases when a customer sends multiple emails about the same issue. Always enable this and define the duplicate window (24 hours, 48 hours) in requirements. Without it, one frustrated customer who sends 5 follow-up emails creates 5 separate cases.
First Contact Resolution (FCR) is the percentage of cases resolved in the first interaction without the customer needing to contact support again — the gold standard KPI in customer service operations.
Why FCR matters: Industry research shows resolving a case on first contact costs 5-7x less than cases requiring follow-up contacts. FCR also correlates strongly with customer satisfaction — customers who get resolved on first contact give 40% higher CSAT scores.
How to measure FCR in D365: D365 does not have a native FCR field. FCR is typically measured as: Cases resolved (Status = Resolved) within 1 interaction (Activities count = 1 or 2) AND not reopened within 7 days. Implement using: A custom "FCR" boolean field on Case set by Power Automate. Or a Power BI report counting single-interaction resolutions.
Reopen rate as FCR proxy: Easier to measure — Count cases where status changed from Resolved back to Active within 7 days. Reopen Rate = Reopened Cases / Total Resolved Cases. Target: below 5%.
Why FCR matters: Industry research shows resolving a case on first contact costs 5-7x less than cases requiring follow-up contacts. FCR also correlates strongly with customer satisfaction — customers who get resolved on first contact give 40% higher CSAT scores.
How to measure FCR in D365: D365 does not have a native FCR field. FCR is typically measured as: Cases resolved (Status = Resolved) within 1 interaction (Activities count = 1 or 2) AND not reopened within 7 days. Implement using: A custom "FCR" boolean field on Case set by Power Automate. Or a Power BI report counting single-interaction resolutions.
Reopen rate as FCR proxy: Easier to measure — Count cases where status changed from Resolved back to Active within 7 days. Reopen Rate = Reopened Cases / Total Resolved Cases. Target: below 5%.
💡 Pro Tip: Define FCR measurement methodology with the client before go-live. FCR means different things to different organisations — some count calls, some count cases, some count days. Document the agreed definition in the BRD as a success metric. This prevents disputes post-go-live about whether the implementation delivered on FCR improvement targets.
Questions 31–40 of 75
The Voice Channel in D365 Customer Service Omnichannel brings phone calls directly into the agent workspace — powered by Azure Communication Services (ACS), eliminating the need for a separate telephony platform.
Voice channel capabilities: Inbound calls (customer calls a D365-managed phone number — routed to available agent). Outbound calls (agent calls customer directly from within D365 — click-to-call on contact record). IVR (Interactive Voice Response — pre-recorded menus that route callers before reaching an agent). Call recording and transcription (real-time AI transcription displayed to agent during the call). Sentiment analysis (live sentiment indicator — agent sees if customer is frustrated). Call coaching (supervisor can listen to live calls, whisper coach, or barge in).
Licence requirement: D365 Customer Service Enterprise + Voice Channel add-on. Azure Communication Services (ACS) resource in Azure subscription required.
Voice channel capabilities: Inbound calls (customer calls a D365-managed phone number — routed to available agent). Outbound calls (agent calls customer directly from within D365 — click-to-call on contact record). IVR (Interactive Voice Response — pre-recorded menus that route callers before reaching an agent). Call recording and transcription (real-time AI transcription displayed to agent during the call). Sentiment analysis (live sentiment indicator — agent sees if customer is frustrated). Call coaching (supervisor can listen to live calls, whisper coach, or barge in).
Licence requirement: D365 Customer Service Enterprise + Voice Channel add-on. Azure Communication Services (ACS) resource in Azure subscription required.
💡 Pro Tip: Always ask clients: "Do you currently use a separate telephony or CCaaS platform (Genesys, Avaya, Cisco, Five9)?" If yes, they may prefer a telephony connector (bring-your-own-telephony) rather than the native D365 voice channel. The connector approach preserves existing telephony investments while adding D365 context to calls.
Sentiment Analysis in D365 Omnichannel uses AI to monitor the emotional tone of a customer conversation in real time — giving agents and supervisors live awareness of customer frustration before it escalates.
How it works: AI analyses each message from the customer in a chat or email conversation. Sentiment is classified: Positive, Slightly Positive, Neutral, Slightly Negative, Negative, Very Negative. A sentiment indicator bar (green to red) is displayed on the agent's conversation panel — updating after each customer message.
Supervisor visibility: The supervisor's monitoring dashboard shows sentiment across all active conversations. A conversation trending negative alerts the supervisor to intervene (listen, whisper coach, or transfer to senior agent).
Sentiment-based routing: If a conversation deteriorates below a configured sentiment threshold, Unified Routing can automatically escalate to a senior queue or trigger a supervisor alert notification.
How it works: AI analyses each message from the customer in a chat or email conversation. Sentiment is classified: Positive, Slightly Positive, Neutral, Slightly Negative, Negative, Very Negative. A sentiment indicator bar (green to red) is displayed on the agent's conversation panel — updating after each customer message.
Supervisor visibility: The supervisor's monitoring dashboard shows sentiment across all active conversations. A conversation trending negative alerts the supervisor to intervene (listen, whisper coach, or transfer to senior agent).
Sentiment-based routing: If a conversation deteriorates below a configured sentiment threshold, Unified Routing can automatically escalate to a senior queue or trigger a supervisor alert notification.
💡 Pro Tip: Sentiment analysis is most valuable for chat and messaging channels where the supervisor cannot overhear conversations (unlike phone). During requirements, ask supervisors: "How do you currently know when an agent is struggling with a difficult customer?" The answer reveals whether real-time sentiment monitoring will change their supervisory workflow.
Macros in D365 Customer Service are one-click automation scripts that execute a series of actions within the agent workspace — reducing repetitive task time and ensuring consistent execution.
What macros can do: Open a new application tab (open the customer's account record). Create a new record (create a case from a conversation). Update a record (set case priority to High). Clone current record. Send an email using a template. Link a knowledge article to the case. Apply a routing rule. Open a third-party website in a tab.
Where macros appear: In the productivity pane during active conversations. In Agent Scripts (each script step can trigger a macro). On the command bar of records.
Configuration: Customer Service admin app → Agent Experience → Macros → New. Define the macro name, description. Add actions in sequence. Test the macro in a sandbox session. Assign to agent scripts or productivity pane.
What macros can do: Open a new application tab (open the customer's account record). Create a new record (create a case from a conversation). Update a record (set case priority to High). Clone current record. Send an email using a template. Link a knowledge article to the case. Apply a routing rule. Open a third-party website in a tab.
Where macros appear: In the productivity pane during active conversations. In Agent Scripts (each script step can trigger a macro). On the command bar of records.
Configuration: Customer Service admin app → Agent Experience → Macros → New. Define the macro name, description. Add actions in sequence. Test the macro in a sandbox session. Assign to agent scripts or productivity pane.
💡 Pro Tip: Calculate the ROI of macros in requirements: "How many times per day does an agent manually open a customer account record? If 50 times per day and each takes 10 seconds, a macro saves 500 seconds (8 minutes) per agent per day. Across 20 agents, that is 2.5 hours of recovered productivity daily." Quantifying macro ROI in requirements builds the case for investing time in macro development.
The Productivity Pane is a side panel in the Customer Service workspace and Omnichannel interface that provides agents with contextual tools during a customer interaction — without leaving the current session.
Productivity Pane tools: Knowledge search (search KB articles relevant to the current case). Smart Assist / Copilot (AI suggestions — "Based on the customer's message, here is a relevant KB article"). Agent scripts (step-by-step guidance for the current interaction type). Recent cases (other open cases for the same customer). Case notes (add notes without navigating away from the conversation).
Configuration: Customer Service admin app → Agent Experience → Productivity pane. Enable/disable each tool. Set which agent scripts are available for each queue. Configure the smart assist bot connection.
Sizing: The productivity pane can be expanded or collapsed by the agent — they can hide it when not needed and open it when they need KB search or AI assistance.
Productivity Pane tools: Knowledge search (search KB articles relevant to the current case). Smart Assist / Copilot (AI suggestions — "Based on the customer's message, here is a relevant KB article"). Agent scripts (step-by-step guidance for the current interaction type). Recent cases (other open cases for the same customer). Case notes (add notes without navigating away from the conversation).
Configuration: Customer Service admin app → Agent Experience → Productivity pane. Enable/disable each tool. Set which agent scripts are available for each queue. Configure the smart assist bot connection.
Sizing: The productivity pane can be expanded or collapsed by the agent — they can hide it when not needed and open it when they need KB search or AI assistance.
💡 Pro Tip: The Productivity Pane is where AI assistance (Copilot) delivers the most immediate agent value. During go-live training, walk agents through a live demo of KB Search in the pane — agents who use it during calls halve their average handling time on knowledge-dependent queries. This is the feature that drives the fastest adoption ROI.
Business Hours and Holiday Schedules define when SLA timers run — ensuring SLAs are measured against actual working time, not calendar time.
Business Hours configuration: Settings → Service Management → Business Closures (for holidays) and Service Management → Service Configuration → Customer Service Schedule → New. Define: Name (e.g., "India Business Hours"). Time zone (IST UTC+5:30). Working hours per day (Mon-Fri 9:00-18:00, Sat 9:00-13:00, Sun Closed).
Holiday Schedule: Within the Customer Service Schedule, add holiday dates. E.g., Republic Day 26 Jan, Independence Day 15 Aug, Diwali (floating dates per year). On these dates, SLA timers pause completely.
Link to SLA: Each SLA definition references a Customer Service Schedule. The SLA timer only counts time during the schedule's working hours.
Multiple schedules: Create different Business Hour schedules for different regions or support tiers — "India Hours", "24x7 Premium Support", "UK Hours". Link each SLA to the appropriate schedule.
Business Hours configuration: Settings → Service Management → Business Closures (for holidays) and Service Management → Service Configuration → Customer Service Schedule → New. Define: Name (e.g., "India Business Hours"). Time zone (IST UTC+5:30). Working hours per day (Mon-Fri 9:00-18:00, Sat 9:00-13:00, Sun Closed).
Holiday Schedule: Within the Customer Service Schedule, add holiday dates. E.g., Republic Day 26 Jan, Independence Day 15 Aug, Diwali (floating dates per year). On these dates, SLA timers pause completely.
Link to SLA: Each SLA definition references a Customer Service Schedule. The SLA timer only counts time during the schedule's working hours.
Multiple schedules: Create different Business Hour schedules for different regions or support tiers — "India Hours", "24x7 Premium Support", "UK Hours". Link each SLA to the appropriate schedule.
💡 Pro Tip: The holiday schedule must be updated annually. Create a reminder (Power Automate flow or manual calendar entry) every October to update the holiday schedule for the upcoming year. Missing a holiday causes SLA timers to run on bank holidays — violating actual service commitments and triggering misleading SLA breach reports.
Customer Service Scheduling (also called Universal Resource Scheduling for Customer Service) enables customers to book service appointments — bridging customer service case management with field or in-store service delivery.
Scheduling capabilities: Customer selects an appointment slot from available times (via Power Pages portal or agent-assisted booking). System checks resource availability against work hours and existing bookings. Confirmation sent automatically. Day-of reminders sent via email or SMS.
Use cases: Bank branch appointments (financial services). Clinic or hospital appointment booking (healthcare). Service centre repair drop-off (retail/electronics). Technical visit scheduling (telecommunications).
Integration with Case: A case can trigger an appointment booking — "Customer reports TV not working → Case created → Agent schedules technician visit → Work Order created in Field Service → Technician dispatched."
Scheduling capabilities: Customer selects an appointment slot from available times (via Power Pages portal or agent-assisted booking). System checks resource availability against work hours and existing bookings. Confirmation sent automatically. Day-of reminders sent via email or SMS.
Use cases: Bank branch appointments (financial services). Clinic or hospital appointment booking (healthcare). Service centre repair drop-off (retail/electronics). Technical visit scheduling (telecommunications).
Integration with Case: A case can trigger an appointment booking — "Customer reports TV not working → Case created → Agent schedules technician visit → Work Order created in Field Service → Technician dispatched."
💡 Pro Tip: Customer Service Scheduling requires Universal Resource Scheduling (URS) — which is also used by D365 Field Service. If a client has both Customer Service scheduling and Field Service, a single URS configuration serves both. Identify this overlap early to avoid duplicating setup effort and resource configuration.
SLA KPI records in D365 are the individual instances of an SLA measurement per case — created automatically when an SLA is applied to a case.
SLA KPI fields: KPI Name (e.g., "First Response By", "Resolve By"). Status (In Progress, Nearing Noncompliance, Noncompliance, Paused, Succeeded, Cancelled). Warning Time (the exact date/time when the warning will trigger). Failure Time (the exact date/time when the SLA will breach). Applicable From (when the SLA KPI timer started). Elapsed Time (how long the timer has been running).
SLA KPI on Case form: The SLA KPI section on the Case form shows agents the countdown to SLA breach — "First Response Due: 2 hours 15 minutes." This real-time visibility helps agents prioritise their work.
Nearing Noncompliance status: When a case reaches the Warning Time threshold (e.g., 80% of SLA time elapsed), the KPI status changes to "Nearing Noncompliance" and warning actions fire (email to agent, Teams notification to supervisor).
SLA KPI fields: KPI Name (e.g., "First Response By", "Resolve By"). Status (In Progress, Nearing Noncompliance, Noncompliance, Paused, Succeeded, Cancelled). Warning Time (the exact date/time when the warning will trigger). Failure Time (the exact date/time when the SLA will breach). Applicable From (when the SLA KPI timer started). Elapsed Time (how long the timer has been running).
SLA KPI on Case form: The SLA KPI section on the Case form shows agents the countdown to SLA breach — "First Response Due: 2 hours 15 minutes." This real-time visibility helps agents prioritise their work.
Nearing Noncompliance status: When a case reaches the Warning Time threshold (e.g., 80% of SLA time elapsed), the KPI status changes to "Nearing Noncompliance" and warning actions fire (email to agent, Teams notification to supervisor).
💡 Pro Tip: Add the SLA KPI Timer section to the Case form in a prominent location — agents need to see SLA countdown without searching for it. Also add the "Resolve By" and "First Response By" fields to the Case list view so agents can sort by most urgent cases. These UX decisions directly reduce SLA breach rates post-go-live.
Knowledge articles go through a defined approval workflow before being published to agents and customers — ensuring accuracy and consistency.
Standard KB article lifecycle: Draft (author creates article) → In Review (submitted for approval) → Approved (reviewer confirms accuracy) → Published (visible to agents and/or customers). Rejected articles return to Draft with reviewer comments.
Configuration options: Approval required (yes/no — smaller teams may auto-publish). Specific approver (named reviewer or role). Multi-level approval (Subject Matter Expert approves content accuracy; Legal approves compliance language). Auto-expiry (set an expiry date — article automatically returns to Draft for review after X months).
Reviewer actions: Approve (move to Published). Reject (return to author with rejection notes). Approve and Set Expiry (publish with an automatic review reminder date).
Standard KB article lifecycle: Draft (author creates article) → In Review (submitted for approval) → Approved (reviewer confirms accuracy) → Published (visible to agents and/or customers). Rejected articles return to Draft with reviewer comments.
Configuration options: Approval required (yes/no — smaller teams may auto-publish). Specific approver (named reviewer or role). Multi-level approval (Subject Matter Expert approves content accuracy; Legal approves compliance language). Auto-expiry (set an expiry date — article automatically returns to Draft for review after X months).
Reviewer actions: Approve (move to Published). Reject (return to author with rejection notes). Approve and Set Expiry (publish with an automatic review reminder date).
💡 Pro Tip: KB article expiry management is frequently overlooked in implementations. Outdated KB articles that are still live mislead agents. Establish a "KB Review Cadence" in requirements: "All articles expire after 6 months and require re-approval." Configure the expiry date on each article category accordingly.
Entitlement Channels restrict the support channels available to a customer under their entitlement — ensuring that support contract terms are enforced in the system.
How Entitlement Channels work: An entitlement can specify which channels the customer can use: Phone, Email, Web, Social, Twitter, Facebook. If a customer with an email-only support contract contacts via phone, the system alerts the agent that the channel is not covered under the customer's entitlement.
Configuration: When creating an Entitlement, expand the "Entitlement Channel" section. Add rows for each allowed channel. Set the total terms per channel (e.g., 10 phone calls + unlimited email). Each case logged via a specified channel decrements the appropriate channel counter.
Example: Basic Support Entitlement: 5 phone calls per quarter + unlimited email. Premium Support Entitlement: Unlimited phone + unlimited email + dedicated chat access.
How Entitlement Channels work: An entitlement can specify which channels the customer can use: Phone, Email, Web, Social, Twitter, Facebook. If a customer with an email-only support contract contacts via phone, the system alerts the agent that the channel is not covered under the customer's entitlement.
Configuration: When creating an Entitlement, expand the "Entitlement Channel" section. Add rows for each allowed channel. Set the total terms per channel (e.g., 10 phone calls + unlimited email). Each case logged via a specified channel decrements the appropriate channel counter.
Example: Basic Support Entitlement: 5 phone calls per quarter + unlimited email. Premium Support Entitlement: Unlimited phone + unlimited email + dedicated chat access.
💡 Pro Tip: Entitlement Channels are important for clients who sell tiered support packages with channel restrictions (phone support is premium; email support is standard). Without Entitlement Channels, agents have no system-enforced awareness of what a customer is actually entitled to — leading to support delivery beyond what was sold.
Bring Your Own Telephony (BYOT) — also called "Third-party voice providers" or "Telephony connector" — allows organisations to keep their existing telephony platform (Genesys, Avaya, Cisco, Five9, NICE) while integrating it with D365 Omnichannel for screen-pop, case creation, and agent workspace features.
How BYOT works: The telephony provider handles the actual call routing and telephony infrastructure. A CTI (Computer Telephony Integration) connector synchronises call events with D365: Incoming call → Connector sends customer's phone number to D365 → D365 identifies the customer and screen-pops their record in the agent workspace. Agent handles the call in their existing telephony tool. D365 Omnichannel captures: Call duration, Case linked to the call, Agent notes, CSAT trigger post-call.
BYOT vs Native D365 Voice: BYOT: Preserve existing telephony investment. Less disruption. Two tools to manage. Native D365 Voice: Single platform. AI features (sentiment, transcription) fully integrated. Higher change management for agents.
How BYOT works: The telephony provider handles the actual call routing and telephony infrastructure. A CTI (Computer Telephony Integration) connector synchronises call events with D365: Incoming call → Connector sends customer's phone number to D365 → D365 identifies the customer and screen-pops their record in the agent workspace. Agent handles the call in their existing telephony tool. D365 Omnichannel captures: Call duration, Case linked to the call, Agent notes, CSAT trigger post-call.
BYOT vs Native D365 Voice: BYOT: Preserve existing telephony investment. Less disruption. Two tools to manage. Native D365 Voice: Single platform. AI features (sentiment, transcription) fully integrated. Higher change management for agents.
💡 Pro Tip: The BYOT decision is typically made by the IT/Telecom team, not the service team. Get the IT architect involved in requirements early. Ask: "When does your current telephony contract expire? What are the annual maintenance costs?" This often reveals that switching to native D365 Voice at contract renewal is more cost-effective than integrating via BYOT.
Questions 41–50 of 75
The Supervisor Dashboard (Omnichannel Ongoing Conversations and Omnichannel Intraday Insights) gives service supervisors real-time visibility into contact centre operations.
Real-time Omnichannel dashboard shows: Active conversations by channel (chat, voice, SMS). Queue depth (how many items waiting in each queue). Agent availability status (Available, Busy, Away, Offline). Average wait time (how long customers are waiting for agent). Average handling time (how long conversations last). CSAT scores (for completed conversations). SLA compliance rate (live cases nearing breach).
Intraday Insights (Power BI): Hourly volume trends (busy periods). Agent performance comparison (AHT, CSAT, FCR per agent). Queue performance (which queues are backlogged). Channel mix (what % of contacts come via which channel).
Supervisor actions from dashboard: Transfer a conversation from one agent to another. Monitor (silently join a conversation). Whisper coach (speak to agent without customer hearing). Barge in (take over the conversation). Change agent availability status.
Real-time Omnichannel dashboard shows: Active conversations by channel (chat, voice, SMS). Queue depth (how many items waiting in each queue). Agent availability status (Available, Busy, Away, Offline). Average wait time (how long customers are waiting for agent). Average handling time (how long conversations last). CSAT scores (for completed conversations). SLA compliance rate (live cases nearing breach).
Intraday Insights (Power BI): Hourly volume trends (busy periods). Agent performance comparison (AHT, CSAT, FCR per agent). Queue performance (which queues are backlogged). Channel mix (what % of contacts come via which channel).
Supervisor actions from dashboard: Transfer a conversation from one agent to another. Monitor (silently join a conversation). Whisper coach (speak to agent without customer hearing). Barge in (take over the conversation). Change agent availability status.
💡 Pro Tip: Design the Supervisor Dashboard requirements by asking supervisors: "What do you currently check every 30 minutes to know if the service centre is under control?" The answer reveals the 4-5 most critical real-time metrics. Build the dashboard around those metrics — not everything available — to keep it actionable.
In D365 Customer Service, Queue Items and Work Items refer to the same concept from different contexts:
Queue Item: The legacy term used in standard Customer Service (non-Omnichannel). When a case, email activity, or task is placed in a queue, it becomes a Queue Item. Agents see their Queue Items in the "My Work" section or by navigating to their assigned queues.
Work Item: The modern Omnichannel term for any unit of work assigned through Unified Routing — a case, chat conversation, voice call, SMS message, or email that is routed to an agent. Work Items appear in the agent's "My Work Queue" in the Omnichannel workspace.
Key differences in practice: Queue Items support manual pick-up by agents (pull model). Work Items in Unified Routing support both push (auto-assign to agent) and pull (agent picks from queue). Unified Routing Work Items track additional metadata: channel, sentiment, skill requirements, routing history.
Queue Item: The legacy term used in standard Customer Service (non-Omnichannel). When a case, email activity, or task is placed in a queue, it becomes a Queue Item. Agents see their Queue Items in the "My Work" section or by navigating to their assigned queues.
Work Item: The modern Omnichannel term for any unit of work assigned through Unified Routing — a case, chat conversation, voice call, SMS message, or email that is routed to an agent. Work Items appear in the agent's "My Work Queue" in the Omnichannel workspace.
Key differences in practice: Queue Items support manual pick-up by agents (pull model). Work Items in Unified Routing support both push (auto-assign to agent) and pull (agent picks from queue). Unified Routing Work Items track additional metadata: channel, sentiment, skill requirements, routing history.
💡 Pro Tip: When documenting requirements, use the term "Work Item" if the client is implementing Omnichannel with Unified Routing. Use "Queue Item" only for traditional Customer Service without Omnichannel. Using the wrong term in workshops causes confusion — agents and supervisors will be looking for the wrong thing in the interface during training.
The Case Resolution dialog is the form that appears when an agent clicks "Resolve Case" — it captures the details of how the case was resolved before changing the status to Resolved.
Standard Case Resolution dialog fields: Resolution Type (option set — Workaround Provided, Problem Solved, Information Provided, Cannot Reproduce, By Design). Resolution (text field — detailed description of what was done to resolve the issue). Total Time (total time spent on the case — sum of all billable time entries). Billable Time (subset of total time that is chargeable — relevant for paid support contracts).
Custom fields typically added: Root Cause (why the issue occurred — Product Bug, User Error, Configuration Issue, Third-party). Escalated? (was this case escalated during its life). KB Article linked (which knowledge article resolved it — for deflection tracking). Resolved on First Contact (boolean — for FCR reporting).
Standard Case Resolution dialog fields: Resolution Type (option set — Workaround Provided, Problem Solved, Information Provided, Cannot Reproduce, By Design). Resolution (text field — detailed description of what was done to resolve the issue). Total Time (total time spent on the case — sum of all billable time entries). Billable Time (subset of total time that is chargeable — relevant for paid support contracts).
Custom fields typically added: Root Cause (why the issue occurred — Product Bug, User Error, Configuration Issue, Third-party). Escalated? (was this case escalated during its life). KB Article linked (which knowledge article resolved it — for deflection tracking). Resolved on First Contact (boolean — for FCR reporting).
💡 Pro Tip: The Resolution dialog is the most important data capture point in the case lifecycle — it is the last chance to get quality data before the case closes. Make Root Cause and KB Article mandatory here (not optional elsewhere). Agents are most motivated to fill in accurate data at resolution because they own the outcome at that moment.
Skills-based routing in D365 Customer Service (Unified Routing) matches incoming work items to agents who have the specific skills required to handle them — rather than simply routing to any available agent.
Setup steps:
1. Define Skills: Customer Service admin app → User Management → Skills. Create skills such as "Hindi Language", "Billing Expertise Level 2", "Technical Support - Network", "VIP Account Management".
2. Assign Skills to Agents: Each agent record gets skills with a proficiency level (1-10 or descriptive: Familiar, Good, Expert).
3. Create Classification Rules: Rule that tags incoming work items with required skills. E.g., "If case category = Billing, require skill: Billing Expertise Level 2."
4. Configure Assignment Method: "Exact Skill Match" (only agents with all required skills get the work) or "Best Match" (closest available skill match, falls back if exact not available).
Setup steps:
1. Define Skills: Customer Service admin app → User Management → Skills. Create skills such as "Hindi Language", "Billing Expertise Level 2", "Technical Support - Network", "VIP Account Management".
2. Assign Skills to Agents: Each agent record gets skills with a proficiency level (1-10 or descriptive: Familiar, Good, Expert).
3. Create Classification Rules: Rule that tags incoming work items with required skills. E.g., "If case category = Billing, require skill: Billing Expertise Level 2."
4. Configure Assignment Method: "Exact Skill Match" (only agents with all required skills get the work) or "Best Match" (closest available skill match, falls back if exact not available).
💡 Pro Tip: Start with a small set of skills (5-8 max) for the initial go-live. Skill matrices become complex to maintain quickly. Add skills based on actual routing failures (cases assigned to wrong agents) rather than theoretically mapping every possible skill combination upfront.
D365 Customer Service can be accessed via the D365 mobile app on iOS and Android, though mobile is better suited to some use cases than others.
Best mobile use cases for Customer Service: Supervisors checking dashboard KPIs and queue status while away from desk. Field agents logging case updates after on-site visits. Managers approving knowledge articles or escalations on the go. Agents responding to low-complexity cases between interactions.
Mobile limitations for Customer Service agents: Omnichannel real-time channels (live chat, voice) are NOT supported on the standard D365 mobile app — agents must use a browser or desktop. Complex case forms with many custom fields may be harder to navigate on small screens. Timeline activities (photos, attachments) are manageable but less efficient than desktop.
Mobile optimisation tips: Create a simplified "Mobile Case Form" with only essential fields. Enable offline case viewing for field agents who may lose connectivity. Use push notifications to alert mobile users to newly assigned cases or SLA warnings.
Best mobile use cases for Customer Service: Supervisors checking dashboard KPIs and queue status while away from desk. Field agents logging case updates after on-site visits. Managers approving knowledge articles or escalations on the go. Agents responding to low-complexity cases between interactions.
Mobile limitations for Customer Service agents: Omnichannel real-time channels (live chat, voice) are NOT supported on the standard D365 mobile app — agents must use a browser or desktop. Complex case forms with many custom fields may be harder to navigate on small screens. Timeline activities (photos, attachments) are manageable but less efficient than desktop.
Mobile optimisation tips: Create a simplified "Mobile Case Form" with only essential fields. Enable offline case viewing for field agents who may lose connectivity. Use push notifications to alert mobile users to newly assigned cases or SLA warnings.
💡 Pro Tip: If supervisors need mobile access to Omnichannel dashboards, use Power BI Mobile app embedded with the Omnichannel Intraday Insights report — this provides a far better mobile experience than the D365 app for supervisor monitoring use cases.
Queues are the primary work distribution mechanism in D365 Customer Service — they hold cases and work items waiting to be picked up or assigned to agents.
Queue-based work distribution models:
Pull model (agent picks): Cases sit in the queue. Agents review the queue and pick the next case to work on. Gives agents control but can lead to cherry-picking (agents avoid difficult cases).
Push model (auto-assign): Unified Routing automatically assigns cases to the next available qualified agent. No cherry-picking. Requires Unified Routing configuration.
Round-robin: Cases are assigned sequentially to each agent in the queue. Simple but ignores agent capacity and current workload.
Least active: The next case goes to the agent with the fewest current active assignments. More sophisticated workload balancing.
Queue access control: Queue members see queue items. Non-members cannot see or pick from the queue. Supervisors typically have access to all queues for monitoring.
Queue-based work distribution models:
Pull model (agent picks): Cases sit in the queue. Agents review the queue and pick the next case to work on. Gives agents control but can lead to cherry-picking (agents avoid difficult cases).
Push model (auto-assign): Unified Routing automatically assigns cases to the next available qualified agent. No cherry-picking. Requires Unified Routing configuration.
Round-robin: Cases are assigned sequentially to each agent in the queue. Simple but ignores agent capacity and current workload.
Least active: The next case goes to the agent with the fewest current active assignments. More sophisticated workload balancing.
Queue access control: Queue members see queue items. Non-members cannot see or pick from the queue. Supervisors typically have access to all queues for monitoring.
💡 Pro Tip: The choice between pull and push routing is one of the most important design decisions in a Customer Service implementation — it affects agent experience, fairness, and performance management. Document this decision explicitly in the Solution Design with the rationale. Many clients start with pull routing (easier) and switch to push routing 6 months post-go-live when they notice cherry-picking issues.
Embedding a live chat widget on a website connected to D365 Omnichannel for Customer Service enables real-time chat with service agents.
Configuration steps:
1. Omnichannel admin center → Channels → Chat → New Chat Channel.
2. Configure: Name, Language, Authentication settings (anonymous or authenticated visitors), Operating hours (when chat is available — show "Leave a message" form outside hours).
3. Design the chat widget: Position (bottom right/left), Theme colour, Bot pre-greeting message, Agent waiting message, Queue position visibility.
4. Pre-chat survey: Optional form before connecting to agent — name, email, issue description. Reduces agent time collecting basic information.
5. Post-chat survey: CSAT survey shown to customer after chat ends.
6. Copy the chat script snippet (JavaScript code). Paste into the website's HTML before the closing </body> tag.
Configuration steps:
1. Omnichannel admin center → Channels → Chat → New Chat Channel.
2. Configure: Name, Language, Authentication settings (anonymous or authenticated visitors), Operating hours (when chat is available — show "Leave a message" form outside hours).
3. Design the chat widget: Position (bottom right/left), Theme colour, Bot pre-greeting message, Agent waiting message, Queue position visibility.
4. Pre-chat survey: Optional form before connecting to agent — name, email, issue description. Reduces agent time collecting basic information.
5. Post-chat survey: CSAT survey shown to customer after chat ends.
6. Copy the chat script snippet (JavaScript code). Paste into the website's HTML before the closing </body> tag.
💡 Pro Tip: Configure the "Proactive chat" feature — automatically invite a chat when a visitor spends more than 60 seconds on a specific page (e.g., the Returns Policy page or the Checkout Error page). This proactive engagement converts frustrated visitors into assisted customers before they abandon and contact support through a more expensive channel.
Capacity-based routing in D365 Omnichannel ensures that agents are not overloaded by controlling how many simultaneous conversations (of each type) they can handle at once.
Capacity Profiles: Define maximum concurrent work items per channel type. Example capacity profile for a chat agent: Live Chat: max 3 simultaneous. Cases: max 5 simultaneous. Voice calls: max 1 simultaneous (voice is intensive — cannot multitask). Total capacity: agent can have 3 chats + 5 cases simultaneously but never 2 calls at once.
How routing uses capacity: When Unified Routing has a new chat to assign, it checks each available agent's current capacity. Agents at capacity are skipped. The chat goes to the agent with the most remaining capacity who has the required skills.
Blocking capacity: When an agent takes a voice call, their "Voice" capacity slot is blocked. Other chat and case capacity remains available. When the call ends, the voice slot is released automatically.
Capacity Profiles: Define maximum concurrent work items per channel type. Example capacity profile for a chat agent: Live Chat: max 3 simultaneous. Cases: max 5 simultaneous. Voice calls: max 1 simultaneous (voice is intensive — cannot multitask). Total capacity: agent can have 3 chats + 5 cases simultaneously but never 2 calls at once.
How routing uses capacity: When Unified Routing has a new chat to assign, it checks each available agent's current capacity. Agents at capacity are skipped. The chat goes to the agent with the most remaining capacity who has the required skills.
Blocking capacity: When an agent takes a voice call, their "Voice" capacity slot is blocked. Other chat and case capacity remains available. When the call ends, the voice slot is released automatically.
💡 Pro Tip: Capacity profiles must be designed with input from experienced agents, not just managers. Agents know realistically how many concurrent chats they can handle without quality degrading. A capacity profile that is too high (max 6 concurrent chats) leads to poor customer experience. A capacity profile that is too low wastes agent availability. Run a calibration exercise in UAT before setting live capacity limits.
Real-time Translation in D365 Omnichannel chat allows agents to serve customers in any language — the customer types in their language, the agent sees it in their language, and the agent's responses are automatically translated back to the customer's language.
How it works: D365 Omnichannel integrates with a translation provider (Azure Cognitive Services Translator or a third-party provider via the translation API). Translation is applied automatically when the customer's language is detected as different from the agent's configured language. The agent sees the translated text below the original. Agent types in their language and the customer receives the translated version.
Language detection: The customer's language is auto-detected from the first message. Agents can manually override the detected language if incorrect.
Supported providers: Azure Cognitive Services Translator (integrated, Microsoft-recommended). Custom translation provider API (for clients who have existing translation contracts).
How it works: D365 Omnichannel integrates with a translation provider (Azure Cognitive Services Translator or a third-party provider via the translation API). Translation is applied automatically when the customer's language is detected as different from the agent's configured language. The agent sees the translated text below the original. Agent types in their language and the customer receives the translated version.
Language detection: The customer's language is auto-detected from the first message. Agents can manually override the detected language if incorrect.
Supported providers: Azure Cognitive Services Translator (integrated, Microsoft-recommended). Custom translation provider API (for clients who have existing translation contracts).
💡 Pro Tip: Real-time translation enables a centralised support centre to handle contacts from multiple countries without hiring multilingual agents for every language. Calculate the ROI: "We currently pay 20% premium for Hindi-speaking agents to handle India contacts. Translation automation eliminates that premium while improving language coverage." This often justifies the translation service cost.
Case Views are filtered, sorted lists of cases that agents and supervisors use to manage their workload. The right views are critical for agent productivity — if agents cannot quickly see what needs attention, they default to email inboxes and manual tracking.
Essential Case Views to configure:
My Active Cases: Cases owned by the current agent with Status = Active. Sort: SLA Warning Time (ascending) — most urgent first.
My Cases Awaiting Customer Response: Status Reason = Waiting for Customer AND Last Modified by = Agent. Reminds agents to follow up if customer hasn't responded in 48 hours.
Queue: [Queue Name] — Shows all cases currently in a specific queue. For supervisors to monitor team workload.
Cases Breaching SLA: Cases where SLA KPI Status = Noncompliance. For supervisor escalation management.
Unassigned Cases: Cases with no owner. For queue management.
Essential Case Views to configure:
My Active Cases: Cases owned by the current agent with Status = Active. Sort: SLA Warning Time (ascending) — most urgent first.
My Cases Awaiting Customer Response: Status Reason = Waiting for Customer AND Last Modified by = Agent. Reminds agents to follow up if customer hasn't responded in 48 hours.
Queue: [Queue Name] — Shows all cases currently in a specific queue. For supervisors to monitor team workload.
Cases Breaching SLA: Cases where SLA KPI Status = Noncompliance. For supervisor escalation management.
Unassigned Cases: Cases with no owner. For queue management.
💡 Pro Tip: The single most impactful view to create is "My Cases — By SLA Urgency" — cases sorted by SLA Warning Time ascending. This view tells agents: "Handle THIS case next." Without this view, agents work in any order they choose, leading to SLA breaches on cases buried in their list. Create this view, make it the default, and train agents to work from it every morning.
Questions 51–60 of 75
The Customer Card (also called Active Conversation panel) is the left panel in the Omnichannel agent workspace that shows the identified customer's key information during an active conversation — providing instant context without the agent needing to search for the customer's record.
Customer Card displays: Customer name and photo/avatar. Contact details (email, phone). Account name (if a B2B contact). Recent cases (last 3-5 cases with status). Sentiment score (current conversation sentiment). Entitlement status (what support they are entitled to). Custom fields (any additional context configured by admin — customer tier, region, product owned).
Customer identification: For web chat: if authenticated, customer details pre-populate. If anonymous, the pre-chat survey data is used (name and email entered by customer). For voice: customer's phone number is used to look up matching Contact/Account in D365.
Customer not found: If no matching record found, the agent sees a "New Contact" option — they can create a contact record from within the conversation without leaving the workspace.
Customer Card displays: Customer name and photo/avatar. Contact details (email, phone). Account name (if a B2B contact). Recent cases (last 3-5 cases with status). Sentiment score (current conversation sentiment). Entitlement status (what support they are entitled to). Custom fields (any additional context configured by admin — customer tier, region, product owned).
Customer identification: For web chat: if authenticated, customer details pre-populate. If anonymous, the pre-chat survey data is used (name and email entered by customer). For voice: customer's phone number is used to look up matching Contact/Account in D365.
Customer not found: If no matching record found, the agent sees a "New Contact" option — they can create a contact record from within the conversation without leaving the workspace.
💡 Pro Tip: Configure the Customer Card to show the fields agents most frequently ask customers at the start of a call: "Can you give me your account number?" — display that field on the Customer Card so agents can confirm it immediately. Reducing the number of questions agents ask customers shortens handle time and improves customer experience.
Conversation Summaries in D365 Customer Service (powered by Copilot / Azure OpenAI) automatically generate a concise summary of a case or conversation — saving agents and supervisors time reading through long interaction histories.
Case Summary: When an agent opens a case, Copilot automatically generates a summary of: What the customer reported, Steps already taken to resolve it, Current status, Suggested next steps. Displayed as a collapsible panel at the top of the case or in the productivity pane.
Conversation Summary (for transfers): When a chat or voice conversation is transferred from one agent to another, Copilot generates a handover summary: "Customer called about billing charge on invoice #12345. Agent tried to reverse charge but needs manager approval. Customer is frustrated — third contact about same issue." The receiving agent does not need to ask the customer to repeat themselves.
Post-conversation summary: After a conversation ends, Copilot generates a summary that auto-populates the Case Description or Case Notes — eliminating manual wrap-up time.
Case Summary: When an agent opens a case, Copilot automatically generates a summary of: What the customer reported, Steps already taken to resolve it, Current status, Suggested next steps. Displayed as a collapsible panel at the top of the case or in the productivity pane.
Conversation Summary (for transfers): When a chat or voice conversation is transferred from one agent to another, Copilot generates a handover summary: "Customer called about billing charge on invoice #12345. Agent tried to reverse charge but needs manager approval. Customer is frustrated — third contact about same issue." The receiving agent does not need to ask the customer to repeat themselves.
Post-conversation summary: After a conversation ends, Copilot generates a summary that auto-populates the Case Description or Case Notes — eliminating manual wrap-up time.
💡 Pro Tip: Post-conversation AI summaries eliminate one of the largest sources of agent after-call work (ACW). If an agent currently spends 3 minutes writing case notes after every call and handles 40 calls per day, AI summaries recover 2 hours of agent time daily. Quantify this in requirements to justify the Copilot licence cost.
Sessions in D365 Omnichannel are isolated workspaces within the agent's browser — each active conversation (chat, call, case) opens as a separate session tab. The agent can switch between sessions without losing context in any of them.
Session behaviour: Each session maintains its own: Active conversation, Related case record, Productivity pane state (which KB articles searched), Notes entered, Application tabs opened. Sessions are independent — an agent can be mid-chat with Customer A (Session 1) while reviewing a case for Customer B (Session 2) without either conversation affecting the other.
Session limits: Maximum concurrent sessions is configurable (default: 9). Each session type consumes capacity — a voice call session blocks the agent's voice capacity. Multiple chat sessions run concurrently up to the agent's chat capacity profile.
Home session: The default landing page when no active conversations exist. Shows the agent's My Work queue and dashboard. Agents return to the home session between conversations.
Session behaviour: Each session maintains its own: Active conversation, Related case record, Productivity pane state (which KB articles searched), Notes entered, Application tabs opened. Sessions are independent — an agent can be mid-chat with Customer A (Session 1) while reviewing a case for Customer B (Session 2) without either conversation affecting the other.
Session limits: Maximum concurrent sessions is configurable (default: 9). Each session type consumes capacity — a voice call session blocks the agent's voice capacity. Multiple chat sessions run concurrently up to the agent's chat capacity profile.
Home session: The default landing page when no active conversations exist. Shows the agent's My Work queue and dashboard. Agents return to the home session between conversations.
💡 Pro Tip: Session management is the key differentiator between Omnichannel and the standard Customer Service Hub. Demo session switching in go-live training — the moment agents see they can handle a chat, answer a case question, and review another case simultaneously without losing any context, adoption resistance drops significantly.
D365 Customer Service provides multiple reporting layers for different stakeholders:
Built-in dashboards (no configuration required): Tier 1 Dashboard (agent-level case volume, activity counts). Customer Service Manager Dashboard (team performance, SLA compliance, case aging). Knowledge Management Dashboard (KB article usage, ratings, deflection count).
Omnichannel Analytics (Power BI reports, included): Omnichannel Intraday Insights (real-time supervisor view). Omnichannel Historical Analytics (daily/weekly/monthly trends). Bot Analytics (Copilot Studio self-service deflection performance).
Customer Service Analytics (Premium): AI-powered insights for case topics, CSAT prediction, backlog forecasting, emerging issue detection.
Custom Power BI reports: For cross-system reporting (combining D365 case data with ERP data, HR data, or external benchmarks). Connect Power BI directly to Dataverse tables for real-time custom dashboards.
Built-in dashboards (no configuration required): Tier 1 Dashboard (agent-level case volume, activity counts). Customer Service Manager Dashboard (team performance, SLA compliance, case aging). Knowledge Management Dashboard (KB article usage, ratings, deflection count).
Omnichannel Analytics (Power BI reports, included): Omnichannel Intraday Insights (real-time supervisor view). Omnichannel Historical Analytics (daily/weekly/monthly trends). Bot Analytics (Copilot Studio self-service deflection performance).
Customer Service Analytics (Premium): AI-powered insights for case topics, CSAT prediction, backlog forecasting, emerging issue detection.
Custom Power BI reports: For cross-system reporting (combining D365 case data with ERP data, HR data, or external benchmarks). Connect Power BI directly to Dataverse tables for real-time custom dashboards.
💡 Pro Tip: The Omnichannel Historical Analytics Power BI report is included with the licence but must be manually deployed. This is frequently missed in implementations — add "Deploy Omnichannel Analytics" to the go-live checklist. It provides 20+ pre-built KPIs that take weeks to recreate in custom reports.
Managing non-production environments for D365 Customer Service follows the same Power Platform environment strategy as other D365 apps — with Customer Service-specific considerations.
Environment strategy recommendation: Development environment: Where consultants configure, test, and iterate. Sandbox/UAT environment: Where client business users perform UAT with realistic data. Production environment: Live system used by agents and customers.
Customer Service-specific sandbox setup: Email-to-Case: Configure with test mailboxes (not real support email address) to prevent real customer emails from creating test cases. SLA: Disable SLA timers in sandbox (set very long durations) to prevent false escalations during testing. Outbound emails: Ensure the sandbox is NOT connected to real Exchange send — use a test SMTP profile or enable "Do not send emails" mode in admin settings. Chat widget: Point the chat widget script at the sandbox URL — never use the sandbox chat widget script on a live website.
Environment strategy recommendation: Development environment: Where consultants configure, test, and iterate. Sandbox/UAT environment: Where client business users perform UAT with realistic data. Production environment: Live system used by agents and customers.
Customer Service-specific sandbox setup: Email-to-Case: Configure with test mailboxes (not real support email address) to prevent real customer emails from creating test cases. SLA: Disable SLA timers in sandbox (set very long durations) to prevent false escalations during testing. Outbound emails: Ensure the sandbox is NOT connected to real Exchange send — use a test SMTP profile or enable "Do not send emails" mode in admin settings. Chat widget: Point the chat widget script at the sandbox URL — never use the sandbox chat widget script on a live website.
💡 Pro Tip: The most dangerous Customer Service sandbox misconfiguration: Email-to-Case connected to the real support inbox in the development environment. This creates cases in the dev environment from real customer emails — real customers get no response from their actual support team. Always use a dedicated test email address (e.g., d365test@company.com) in all non-production environments.
Case Escalation moves a case from a lower support tier to a higher tier when the initial agent cannot resolve it — or when SLA commitments require it.
Escalation triggers: Manual escalation by agent (agent determines they need specialist assistance). SLA-triggered escalation (SLA KPI approaching breach — auto-escalate before it fails). Sentiment-triggered escalation (Omnichannel detects very negative sentiment — escalate to senior agent). Customer demand (customer requests to speak to a manager).
Escalation mechanism in D365: Change case owner to the escalation agent or supervisor. Move case to the escalation queue. Add an escalation note to the Timeline. Update case priority to Critical. Trigger Power Automate flow to notify the escalation agent via Teams.
Escalation tracking: Custom field "Escalated?" (boolean) and "Escalation Level" (Tier 1, Tier 2, Management). Track escalation rate as a KPI — target typically below 15% of all cases.
Escalation triggers: Manual escalation by agent (agent determines they need specialist assistance). SLA-triggered escalation (SLA KPI approaching breach — auto-escalate before it fails). Sentiment-triggered escalation (Omnichannel detects very negative sentiment — escalate to senior agent). Customer demand (customer requests to speak to a manager).
Escalation mechanism in D365: Change case owner to the escalation agent or supervisor. Move case to the escalation queue. Add an escalation note to the Timeline. Update case priority to Critical. Trigger Power Automate flow to notify the escalation agent via Teams.
Escalation tracking: Custom field "Escalated?" (boolean) and "Escalation Level" (Tier 1, Tier 2, Management). Track escalation rate as a KPI — target typically below 15% of all cases.
💡 Pro Tip: "Escalation Rate by Agent" is one of the most valuable coaching metrics for service managers. High escalation rate for a specific agent signals either: they are tackling cases outside their skill set, or they lack confidence to resolve independently. This metric must be in requirements for any coaching-focused service operation.
Smart Assist is the AI-powered assistance panel in the D365 Customer Service workspace that surfaces real-time suggestions to agents during a conversation — reducing research time and improving response quality.
Smart Assist capabilities: KB article suggestions (based on case description or customer message — "Here are 3 articles that might help"). Similar case suggestions (cases with similar subject/description that were resolved — "This case was resolved before with this solution"). Macro suggestions ("You often run this macro at this point — click to execute"). AI-generated response drafts (Copilot drafts a reply based on KB content — agent reviews and sends).
How suggestions are generated: NLP analyses the customer's message or case description in real time. Azure Cognitive Search queries the KB and case history. Results ranked by relevance score and shown in the Smart Assist panel.
Configuration: Omnichannel admin center → Agent Experience → Smart assist. Connect to the Knowledge Base. Enable Similar Cases feature. Set the relevance threshold (minimum score to show a suggestion).
Smart Assist capabilities: KB article suggestions (based on case description or customer message — "Here are 3 articles that might help"). Similar case suggestions (cases with similar subject/description that were resolved — "This case was resolved before with this solution"). Macro suggestions ("You often run this macro at this point — click to execute"). AI-generated response drafts (Copilot drafts a reply based on KB content — agent reviews and sends).
How suggestions are generated: NLP analyses the customer's message or case description in real time. Azure Cognitive Search queries the KB and case history. Results ranked by relevance score and shown in the Smart Assist panel.
Configuration: Omnichannel admin center → Agent Experience → Smart assist. Connect to the Knowledge Base. Enable Similar Cases feature. Set the relevance threshold (minimum score to show a suggestion).
💡 Pro Tip: Smart Assist suggestions are only as good as the Knowledge Base. If the KB has 50 poorly written articles, Smart Assist surfaces poor suggestions and agents stop trusting it. A minimum viable KB for Smart Assist to be useful: 100+ well-written, categorised articles covering the top 80% of case types. Include KB development as a workstream in the Customer Service implementation plan.
D365 Customer Service and D365 Sales share the same Dataverse platform — making integration native and seamless for organisations that deploy both modules.
Shared entities (automatically integrated): Account (same record seen by both Sales and Service agents). Contact (same record — Sales tracks opportunities; Service tracks cases). Activity Timeline (Sales calls and Service emails both appear on the same Account/Contact Timeline).
Cross-functional use cases: Service to Sales: "Customer calls to cancel — Service agent creates a Save Opportunity in D365 Sales for the retention team to follow up." Sales to Service: "New account just created in Sales — automatically create a Welcome Case in Service for onboarding." Service alert to Sales: "Customer has 3 unresolved critical cases — alert account manager before they present a renewal proposal."
360-degree customer view: A sales account manager can see open Service cases on their Account record Timeline — avoiding the embarrassing situation of calling a customer with a renewal pitch while they have an unresolved complaint.
Shared entities (automatically integrated): Account (same record seen by both Sales and Service agents). Contact (same record — Sales tracks opportunities; Service tracks cases). Activity Timeline (Sales calls and Service emails both appear on the same Account/Contact Timeline).
Cross-functional use cases: Service to Sales: "Customer calls to cancel — Service agent creates a Save Opportunity in D365 Sales for the retention team to follow up." Sales to Service: "New account just created in Sales — automatically create a Welcome Case in Service for onboarding." Service alert to Sales: "Customer has 3 unresolved critical cases — alert account manager before they present a renewal proposal."
360-degree customer view: A sales account manager can see open Service cases on their Account record Timeline — avoiding the embarrassing situation of calling a customer with a renewal pitch while they have an unresolved complaint.
💡 Pro Tip: The most valuable integration requirement between Sales and Service: "Alert Sales rep when their account has a Critical or open SLA-breach case." This prevents sales and service operating in silos and damaging customer relationships. Build this as a Power Automate notification flow — 1 hour to configure, very high business value.
A Customer Self-Service Portal built on Microsoft Power Pages (formerly Power Apps Portals) enables customers to raise cases, check case status, search the Knowledge Base, and manage their account — reducing inbound contact volume.
Portal capabilities: Knowledge Base search (deflect contacts before they become cases — target 20-30% deflection). Case submission form (customer fills in details — creates Case in D365 automatically). Case tracking (customer logs in and sees status of all their open and closed cases). Chat widget integration (escalate from portal self-service to live chat). Account profile management (customer updates contact details — syncs to D365 Contact record).
Authentication options: Azure AD B2C (customer creates a portal login). Local authentication (username/password managed by D365 portal). Social login (Google, Facebook, Microsoft Account). Anonymous (no login — public KB access only).
Case deflection tracking: Track portal sessions that started a KB search and did NOT submit a case — these represent deflected contacts. Deflection Rate = Deflected contacts / (Deflected + Submitted cases).
Portal capabilities: Knowledge Base search (deflect contacts before they become cases — target 20-30% deflection). Case submission form (customer fills in details — creates Case in D365 automatically). Case tracking (customer logs in and sees status of all their open and closed cases). Chat widget integration (escalate from portal self-service to live chat). Account profile management (customer updates contact details — syncs to D365 Contact record).
Authentication options: Azure AD B2C (customer creates a portal login). Local authentication (username/password managed by D365 portal). Social login (Google, Facebook, Microsoft Account). Anonymous (no login — public KB access only).
Case deflection tracking: Track portal sessions that started a KB search and did NOT submit a case — these represent deflected contacts. Deflection Rate = Deflected contacts / (Deflected + Submitted cases).
💡 Pro Tip: Customer portals require dedicated design effort — branding, UX design, navigation, and content strategy. Never treat the portal as a "configuration activity" on the project plan. Allocate a minimum of 4-6 weeks for portal design, build, and UAT separately from the core D365 Customer Service implementation.
The first discovery workshop sets the foundation for the entire D365 Customer Service implementation. Key questions a BA must ask:
Service volume and channels: "How many cases do you receive per day/week? What channels do customers use — email, phone, chat, web form, walk-in?" "What are your peak periods and how many agents are needed at peak?"
Case types and complexity: "What are your top 10 most common case types? Which take the longest to resolve and why?" "Do you have different case types that require different workflows or SLAs?"
SLA and entitlements: "Do you have contractual SLA commitments? What are the response and resolution targets?" "Do different customers have different SLA tiers?"
Team structure: "How is your service team organised — Tier 1/2/3, by product, by region?" "How are cases currently assigned — manually by supervisor or self-service by agents?"
Knowledge: "Do you have a knowledge base today? How many articles? Who creates and maintains them?"
Service volume and channels: "How many cases do you receive per day/week? What channels do customers use — email, phone, chat, web form, walk-in?" "What are your peak periods and how many agents are needed at peak?"
Case types and complexity: "What are your top 10 most common case types? Which take the longest to resolve and why?" "Do you have different case types that require different workflows or SLAs?"
SLA and entitlements: "Do you have contractual SLA commitments? What are the response and resolution targets?" "Do different customers have different SLA tiers?"
Team structure: "How is your service team organised — Tier 1/2/3, by product, by region?" "How are cases currently assigned — manually by supervisor or self-service by agents?"
Knowledge: "Do you have a knowledge base today? How many articles? Who creates and maintains them?"
💡 Pro Tip: The most revealing discovery question is: "Walk me through what happens from the moment a customer contacts you to the moment their issue is resolved — with a real example." This narrative reveals the actual process, all the systems involved, the handoff points, and where the biggest pain points are. Record this story and use it as the primary UAT scenario.
Questions 61–70 of 75
Case Aging tracks how long cases have been open — identifying cases that are at risk of becoming stale, forgotten, or unresolved for too long regardless of whether they have breached an SLA.
Case Age calculation: Case Age = Today - Case Created On (in business days). D365 does not have a native "Case Age" field — it is calculated using a formula field or a rollup.
Creating a Case Age column: Add a custom calculated field "Case Age (Days)" = DateDiff(CreatedOn, Now(), Day). Add this field to Case views and dashboards. Create a "Cases by Age" chart (bar chart: count of cases per age band — 0-2 days, 3-7 days, 8-14 days, 15+ days).
Case Aging report requirements: Typical bands: Active, 1-3 days (normal). Active, 4-7 days (monitor). Active, 8-14 days (escalate to supervisor). Active, 15+ days (management attention). The 15+ day cases are often stuck — waiting for a third party, customer not responding, or simply forgotten.
Case Age calculation: Case Age = Today - Case Created On (in business days). D365 does not have a native "Case Age" field — it is calculated using a formula field or a rollup.
Creating a Case Age column: Add a custom calculated field "Case Age (Days)" = DateDiff(CreatedOn, Now(), Day). Add this field to Case views and dashboards. Create a "Cases by Age" chart (bar chart: count of cases per age band — 0-2 days, 3-7 days, 8-14 days, 15+ days).
Case Aging report requirements: Typical bands: Active, 1-3 days (normal). Active, 4-7 days (monitor). Active, 8-14 days (escalate to supervisor). Active, 15+ days (management attention). The 15+ day cases are often stuck — waiting for a third party, customer not responding, or simply forgotten.
💡 Pro Tip: Automate case age monitoring with a Power Automate scheduled flow: every Monday morning, send a report to service managers listing all cases open more than 10 business days. This weekly nudge drives action on aging cases before they become major customer complaints.
Two related but distinct configuration items in D365 Customer Service that work together to define service commitments:
Service Schedule (Customer Service Schedule): Defines the working hours during which the service team operates. When the SLA timer should run (and pause). Consists of: Working hours per day of week (Mon-Fri 9-18, Sat 9-13, Sun closed). Holiday calendar (dates the team does not work). Time zone.
SLA (Service Level Agreement): Defines the response and resolution time commitments. References the Service Schedule to determine when to count time. Consists of: KPIs (First Response By, Resolve By). Time thresholds per priority (Critical: 1 hour response, 4 hours resolution). Warning and failure actions. Which cases the SLA applies to (conditions).
How they work together: SLA says "respond within 4 hours." Service Schedule says "only count business hours Monday to Friday 9am-6pm." So a case created at 5pm on Friday must receive a first response by 10am on Monday (only 1 hour of working time on Friday + 1 hour on Monday morning).
Service Schedule (Customer Service Schedule): Defines the working hours during which the service team operates. When the SLA timer should run (and pause). Consists of: Working hours per day of week (Mon-Fri 9-18, Sat 9-13, Sun closed). Holiday calendar (dates the team does not work). Time zone.
SLA (Service Level Agreement): Defines the response and resolution time commitments. References the Service Schedule to determine when to count time. Consists of: KPIs (First Response By, Resolve By). Time thresholds per priority (Critical: 1 hour response, 4 hours resolution). Warning and failure actions. Which cases the SLA applies to (conditions).
How they work together: SLA says "respond within 4 hours." Service Schedule says "only count business hours Monday to Friday 9am-6pm." So a case created at 5pm on Friday must receive a first response by 10am on Monday (only 1 hour of working time on Friday + 1 hour on Monday morning).
💡 Pro Tip: Create Service Schedules BEFORE creating SLAs — SLAs reference schedules and cannot be saved without a valid schedule linked. Also create one 24x7 schedule for Premium/Critical SLAs that must be met outside business hours. Many clients have different SLAs for different customer tiers — each tier may reference a different schedule.
Custom Channels in D365 Omnichannel allow organisations to connect any messaging platform to the D365 agent workspace — beyond the out-of-box channels (Chat, Voice, SMS, WhatsApp, Facebook, LINE, WeChat).
When custom channels are needed: A regional messaging app not supported natively (e.g., KakaoTalk in Korea, Viber in Eastern Europe, Telegram). An internal company messaging platform. A proprietary app with a built-in messaging feature (e.g., a banking app's in-app chat).
Technical architecture: The external messaging platform sends messages to a D365 Custom Channel API endpoint (Azure Function or Logic App acts as the middleware). D365 receives the message, creates a conversation record, and routes it to an agent. Agent replies in D365 workspace. D365 sends the reply back through the middleware to the originating messaging platform.
Implementation effort: Custom channels require developer effort for the middleware layer. The D365 configuration side is relatively straightforward — the complexity is in the middleware API connector.
When custom channels are needed: A regional messaging app not supported natively (e.g., KakaoTalk in Korea, Viber in Eastern Europe, Telegram). An internal company messaging platform. A proprietary app with a built-in messaging feature (e.g., a banking app's in-app chat).
Technical architecture: The external messaging platform sends messages to a D365 Custom Channel API endpoint (Azure Function or Logic App acts as the middleware). D365 receives the message, creates a conversation record, and routes it to an agent. Agent replies in D365 workspace. D365 sends the reply back through the middleware to the originating messaging platform.
Implementation effort: Custom channels require developer effort for the middleware layer. The D365 configuration side is relatively straightforward — the complexity is in the middleware API connector.
💡 Pro Tip: Custom channels are a common scope addition discovered late in implementation when a client realises they want to support a regional messaging app. Always include a "Channel Inventory" in the first requirements workshop: "List every channel your customers currently use to contact you, even informal ones." This surfaces custom channel requirements before build begins.
Both NPS and CSAT measure customer satisfaction, but they capture different things and are used for different purposes in D365 Customer Service implementations:
CSAT (Customer Satisfaction Score): Measures satisfaction with a specific interaction — "How satisfied were you with your support experience today?" Scale: 1-5 or 1-10. Sent immediately after a case is resolved. High response rate (customers give feedback while the experience is fresh). Action: Address low CSAT cases immediately. Best for: Agent-level performance management, interaction quality monitoring.
NPS (Net Promoter Score): Measures overall brand loyalty — "How likely are you to recommend us to a friend or colleague?" Scale: 0-10. Promoters (9-10), Passives (7-8), Detractors (0-6). NPS = % Promoters minus % Detractors. Sent less frequently (quarterly, or after significant journey moments). Best for: Brand health tracking, overall customer experience measurement.
Using both with Customer Voice: D365 Customer Voice supports both CSAT and NPS survey types. Configure CSAT for post-case surveys and NPS for quarterly relationship surveys — each with different trigger conditions in Power Automate.
CSAT (Customer Satisfaction Score): Measures satisfaction with a specific interaction — "How satisfied were you with your support experience today?" Scale: 1-5 or 1-10. Sent immediately after a case is resolved. High response rate (customers give feedback while the experience is fresh). Action: Address low CSAT cases immediately. Best for: Agent-level performance management, interaction quality monitoring.
NPS (Net Promoter Score): Measures overall brand loyalty — "How likely are you to recommend us to a friend or colleague?" Scale: 0-10. Promoters (9-10), Passives (7-8), Detractors (0-6). NPS = % Promoters minus % Detractors. Sent less frequently (quarterly, or after significant journey moments). Best for: Brand health tracking, overall customer experience measurement.
Using both with Customer Voice: D365 Customer Voice supports both CSAT and NPS survey types. Configure CSAT for post-case surveys and NPS for quarterly relationship surveys — each with different trigger conditions in Power Automate.
💡 Pro Tip: Most service teams are measured on CSAT, not NPS. But leadership often reports on NPS. Clarify in requirements which metric drives the team's performance goals — this determines survey type, frequency, and the action workflows (what happens when CSAT is low vs when NPS drops).
Agent Presence in D365 Omnichannel is the availability status that determines whether an agent can be assigned new conversations and work items through Unified Routing.
Standard presence statuses: Available (green) — agent can receive new work items. Busy (red) — agent is occupied and should not receive new items (but can still be manually assigned by supervisor). Away (yellow) — agent is temporarily unavailable (lunch break, short absence). Offline (grey) — agent is logged out or not connected. Do not Disturb (purple) — agent is in a focused task and should not be interrupted.
How presence affects routing: Unified Routing only assigns new conversations to agents with "Available" status. When an agent's capacity is full, their status automatically changes to "Busy." When a conversation ends and capacity is freed, status reverts to "Available" automatically (configurable — some orgs require manual status change).
Supervisor override: Supervisors can change an agent's presence status from the monitoring dashboard — useful when an agent has walked away from their desk but forgot to change their status.
Standard presence statuses: Available (green) — agent can receive new work items. Busy (red) — agent is occupied and should not receive new items (but can still be manually assigned by supervisor). Away (yellow) — agent is temporarily unavailable (lunch break, short absence). Offline (grey) — agent is logged out or not connected. Do not Disturb (purple) — agent is in a focused task and should not be interrupted.
How presence affects routing: Unified Routing only assigns new conversations to agents with "Available" status. When an agent's capacity is full, their status automatically changes to "Busy." When a conversation ends and capacity is freed, status reverts to "Available" automatically (configurable — some orgs require manual status change).
Supervisor override: Supervisors can change an agent's presence status from the monitoring dashboard — useful when an agent has walked away from their desk but forgot to change their status.
💡 Pro Tip: "Buddy Presence" is a common requirement in contact centres — agents can see their team's presence status in the workspace, helping them know who to ask for help or transfer a conversation to. This requires no additional configuration — it is visible in the agent workspace by default. Highlight this feature in training as a team collaboration benefit.
Understanding the Omnichannel architecture is important for implementation planning, performance sizing, and integration design:
Core architectural components:
Commerce Scale Unit (CSU) equivalent: The Omnichannel infrastructure runs on Azure-hosted services separate from the main Dataverse/D365 environment.
Channel-specific services: Each channel (Chat, Voice, SMS) has its own Azure-hosted service component. Azure Communication Services (ACS) handles voice and SMS. Azure Bot Services (for Copilot Studio bots). Azure Cognitive Services (real-time transcription, sentiment, translation).
Dataverse: All conversation records, case records, agent interactions are stored in Dataverse and accessible via Power Platform tools.
Power Platform integration: Power Automate triggers on Omnichannel events. Power BI reads from Dataverse for analytics.
Session management service: Handles simultaneous session state for agents — ensuring that sessions persist even if the agent's browser briefly loses connectivity (conversation does not drop).
Core architectural components:
Commerce Scale Unit (CSU) equivalent: The Omnichannel infrastructure runs on Azure-hosted services separate from the main Dataverse/D365 environment.
Channel-specific services: Each channel (Chat, Voice, SMS) has its own Azure-hosted service component. Azure Communication Services (ACS) handles voice and SMS. Azure Bot Services (for Copilot Studio bots). Azure Cognitive Services (real-time transcription, sentiment, translation).
Dataverse: All conversation records, case records, agent interactions are stored in Dataverse and accessible via Power Platform tools.
Power Platform integration: Power Automate triggers on Omnichannel events. Power BI reads from Dataverse for analytics.
Session management service: Handles simultaneous session state for agents — ensuring that sessions persist even if the agent's browser briefly loses connectivity (conversation does not drop).
💡 Pro Tip: Omnichannel is one of the most complex D365 products to implement and troubleshoot. Ensure the implementation team includes someone with Omnichannel-specific experience — not just generic D365 Customer Service experience. The Azure infrastructure components (ACS for voice, bot integrations, channel provisioning) require Azure admin access and skills beyond typical D365 configuration.
After-Call Work (ACW) or "wrap-up time" is the period after a customer conversation ends during which the agent completes documentation, updates the case record, and prepares for the next interaction — without being assigned new conversations.
Wrap-up in D365 Omnichannel: When a conversation ends, the agent can be kept in a "Wrap-up" state for a configured duration (e.g., 3 minutes) before being set back to Available. During wrap-up: Agent cannot receive new conversations. Agent completes case notes, resolution, and case status update. The Copilot AI summary auto-populates the case description to reduce wrap-up work.
Configuration: Omnichannel admin center → Workstreams → Work Distribution → Capacity → After conversation work. Set the wrap-up time per workstream (e.g., 3 minutes for chats, 5 minutes for voice calls).
Why ACW management matters: Total Handle Time = Talk Time + Wrap-up Time. Reducing ACW from 4 minutes to 2 minutes on 40 calls/day frees 80 minutes per agent per day — significant capacity gain across a large team.
Wrap-up in D365 Omnichannel: When a conversation ends, the agent can be kept in a "Wrap-up" state for a configured duration (e.g., 3 minutes) before being set back to Available. During wrap-up: Agent cannot receive new conversations. Agent completes case notes, resolution, and case status update. The Copilot AI summary auto-populates the case description to reduce wrap-up work.
Configuration: Omnichannel admin center → Workstreams → Work Distribution → Capacity → After conversation work. Set the wrap-up time per workstream (e.g., 3 minutes for chats, 5 minutes for voice calls).
Why ACW management matters: Total Handle Time = Talk Time + Wrap-up Time. Reducing ACW from 4 minutes to 2 minutes on 40 calls/day frees 80 minutes per agent per day — significant capacity gain across a large team.
💡 Pro Tip: AI-generated conversation summaries directly reduce ACW. If the Copilot summary captures 80% of what the agent would have typed in case notes, wrap-up time drops from 4 minutes to under 1 minute. Include ACW reduction as a measurable benefit in the Copilot business case during requirements.
Workstreams in Unified Routing are the configuration objects that define how a specific channel's incoming work items are classified, prioritised, and assigned to agents.
Workstream components: Channel type (Email, Live Chat, Voice, Case — each workstream serves one channel type). Work distribution mode (Push or Pick). Capacity profile (which capacity profile governs agents working this workstream). Routing configuration: Classification rules (how to tag incoming items — topic, language, priority). Queue routing rules (which queue to send tagged items to). Assignment rules (how to pick the agent within the queue).
Example workstream design: "Email Support Workstream": Channel: Email. Mode: Push (auto-assign). Classification: Detect language → Tag billing keywords → Tag priority based on customer tier. Queue routing: If billing keywords → Billing Queue; If priority = High → Priority Queue; Else → General Queue. Assignment: Least active agent with required skill.
Multiple workstreams per channel: You can have multiple Email workstreams — one for each support mailbox or product line — each with different routing logic.
Workstream components: Channel type (Email, Live Chat, Voice, Case — each workstream serves one channel type). Work distribution mode (Push or Pick). Capacity profile (which capacity profile governs agents working this workstream). Routing configuration: Classification rules (how to tag incoming items — topic, language, priority). Queue routing rules (which queue to send tagged items to). Assignment rules (how to pick the agent within the queue).
Example workstream design: "Email Support Workstream": Channel: Email. Mode: Push (auto-assign). Classification: Detect language → Tag billing keywords → Tag priority based on customer tier. Queue routing: If billing keywords → Billing Queue; If priority = High → Priority Queue; Else → General Queue. Assignment: Least active agent with required skill.
Multiple workstreams per channel: You can have multiple Email workstreams — one for each support mailbox or product line — each with different routing logic.
💡 Pro Tip: Document the Workstream design as a routing flowchart before configuring. Each decision point in the routing logic is a workstream condition. Presenting this flowchart to the client for approval prevents misunderstandings about how cases will be routed — the most common source of UAT failures in Unified Routing implementations.
D365 Customer Service enables data-driven agent coaching through metrics that identify performance gaps and training opportunities:
Productivity metrics: Cases resolved per day (volume — are they working their full capacity?). Average Handle Time — AHT (efficiency — are they spending too long on each case?). First Contact Resolution Rate — FCR (quality — are they resolving well the first time?). Cases reopened (quality — are their resolutions holding?).
Quality metrics: CSAT score per agent (customer perception of their service). Escalation Rate per agent (high escalation = lack of skills or confidence). KB Article usage rate (are they using the knowledge base or winging it?). Compliance with Script completion (for regulated industries).
Activity metrics: Calls made, emails sent, cases updated per day (effort indicators). Response time per case (how quickly they pick up assigned work).
Conversation Intelligence coaching: Talk-to-listen ratio (are they dominating conversations?). Competitor mentions analysis. Question frequency (are they asking enough discovery questions?).
Productivity metrics: Cases resolved per day (volume — are they working their full capacity?). Average Handle Time — AHT (efficiency — are they spending too long on each case?). First Contact Resolution Rate — FCR (quality — are they resolving well the first time?). Cases reopened (quality — are their resolutions holding?).
Quality metrics: CSAT score per agent (customer perception of their service). Escalation Rate per agent (high escalation = lack of skills or confidence). KB Article usage rate (are they using the knowledge base or winging it?). Compliance with Script completion (for regulated industries).
Activity metrics: Calls made, emails sent, cases updated per day (effort indicators). Response time per case (how quickly they pick up assigned work).
Conversation Intelligence coaching: Talk-to-listen ratio (are they dominating conversations?). Competitor mentions analysis. Question frequency (are they asking enough discovery questions?).
💡 Pro Tip: Define the coaching cadence in requirements: "Service managers will have weekly 1:1 coaching sessions using D365 agent performance data." This means the reporting requirements must generate agent-level data suitable for a coaching conversation — not just team-level aggregates. Agent-level CSAT, FCR, and AHT trends are the foundation of an effective service coaching programme.
Multilingual customer service requirements are common in India (Hindi, Tamil, Telugu, Kannada, etc.) and global organisations. D365 Customer Service supports multilingual operations through several mechanisms:
Agent language skills in Unified Routing: Define language as a skill (Hindi, Tamil, Kannada). Assign language skills to agents with proficiency levels. Routing rules detect customer's preferred language and route to a matching agent.
Language detection for routing: For chat and SMS: AI detects the language of the first customer message automatically. For email: Detect language from email content. For voice: Customer selects language via IVR menu.
Knowledge Base multilingual support: Create KB articles in multiple languages. Same article can have translated versions linked together. Agents see articles in their language; customer portal shows articles in the customer's language.
Real-time translation: When no agent with the customer's language is available, real-time translation allows any agent to handle the conversation (as discussed in SV-49).
Agent language skills in Unified Routing: Define language as a skill (Hindi, Tamil, Kannada). Assign language skills to agents with proficiency levels. Routing rules detect customer's preferred language and route to a matching agent.
Language detection for routing: For chat and SMS: AI detects the language of the first customer message automatically. For email: Detect language from email content. For voice: Customer selects language via IVR menu.
Knowledge Base multilingual support: Create KB articles in multiple languages. Same article can have translated versions linked together. Agents see articles in their language; customer portal shows articles in the customer's language.
Real-time translation: When no agent with the customer's language is available, real-time translation allows any agent to handle the conversation (as discussed in SV-49).
💡 Pro Tip: For India implementations, always ask: "Which languages do your customers contact you in? Do you have agents for each language?" The answer determines whether you need language skills routing (dedicated multilingual agents) or real-time translation (centralised agents with AI translation). The cost and complexity of these two approaches differ significantly.
Questions 71–75 of 75
D365 Customer Service includes standard security roles tailored to the service organisation's hierarchy:
Standard Customer Service roles:
Customer Service Representative (CSR): Can create, read, and update cases they own. Can search and view KB articles. Cannot delete cases or modify SLA configuration. Cannot see other agents' cases (User-level access).
Customer Service Manager: Read/Write cases across their Business Unit. Can manage queues, assign cases, view team dashboards. Cannot modify system configuration (SLAs, routing rules).
Knowledge Author: Can create and submit KB articles for review. Cannot publish articles directly (requires Approver role).
Knowledge Manager: Can approve and publish KB articles. Can manage the subject tree and KB categories.
Omnichannel Agent: Same as CSR but with additional Omnichannel entities (conversations, sessions). Required for agents using the Omnichannel workspace.
Omnichannel Supervisor: Can monitor all conversations, use coaching features (listen, whisper, barge). Can change agent presence status.
Standard Customer Service roles:
Customer Service Representative (CSR): Can create, read, and update cases they own. Can search and view KB articles. Cannot delete cases or modify SLA configuration. Cannot see other agents' cases (User-level access).
Customer Service Manager: Read/Write cases across their Business Unit. Can manage queues, assign cases, view team dashboards. Cannot modify system configuration (SLAs, routing rules).
Knowledge Author: Can create and submit KB articles for review. Cannot publish articles directly (requires Approver role).
Knowledge Manager: Can approve and publish KB articles. Can manage the subject tree and KB categories.
Omnichannel Agent: Same as CSR but with additional Omnichannel entities (conversations, sessions). Required for agents using the Omnichannel workspace.
Omnichannel Supervisor: Can monitor all conversations, use coaching features (listen, whisper, barge). Can change agent presence status.
💡 Pro Tip: Always run a Security Role Mapping workshop before configuration. Map each person's job role to a D365 security role. Identify edge cases: "Our senior agents can resolve without manager approval but junior agents need sign-off" — this requires a custom security role between CSR and Manager. Discovering these nuances in requirements prevents post-go-live access complaints.
The Case form is the most-used screen in D365 Customer Service — its design directly impacts agent efficiency and data quality.
Case form design principles:
Put the most-used fields at the top (Case Title, Customer, Case Origin, Priority, Assigned To). SLA timer section visible without scrolling — agents must see the countdown constantly. Timeline prominent — agents spend 40% of case time in the Timeline. Avoid long forms — more than 20 visible fields overwhelm agents and lead to skipped entries.
Form sections to include: Top: Key fields (Case Title, Customer, Priority, Status, Owner, SLA KPI). Middle: Case Details tab (Subject, Description, Product, Category). Timeline tab: Activities and communications. Related: Entitlements, KB Articles linked, Child Cases, Related Contacts.
Quick View forms: Embed a Quick View of the Customer's Account on the Case form — showing credit status, active cases count, and customer tier. This context helps agents understand who they are dealing with without navigating away.
Case form design principles:
Put the most-used fields at the top (Case Title, Customer, Case Origin, Priority, Assigned To). SLA timer section visible without scrolling — agents must see the countdown constantly. Timeline prominent — agents spend 40% of case time in the Timeline. Avoid long forms — more than 20 visible fields overwhelm agents and lead to skipped entries.
Form sections to include: Top: Key fields (Case Title, Customer, Priority, Status, Owner, SLA KPI). Middle: Case Details tab (Subject, Description, Product, Category). Timeline tab: Activities and communications. Related: Entitlements, KB Articles linked, Child Cases, Related Contacts.
Quick View forms: Embed a Quick View of the Customer's Account on the Case form — showing credit status, active cases count, and customer tier. This context helps agents understand who they are dealing with without navigating away.
💡 Pro Tip: Prototype the Case form with 5-10 agent representatives before configuring in D365. Show them a mockup and ask: "Is anything missing that you need to see every time you open a case?" and "Is there anything on this form you would never look at?" Add what is missing, remove what is unused. Agent-led form design drives adoption and data quality.
Microsoft Customer Voice (formerly Dynamics 365 Customer Voice / Microsoft Forms Pro) is Microsoft's enterprise survey platform that integrates with D365 Customer Service to automate post-interaction feedback collection.
Integration with D365 Customer Service: Power Automate trigger: "When a Case is resolved AND resolution reason = Problem Solved" → Send Customer Voice survey to the Contact email. Survey responses are automatically linked to the Case record in D365. Satisfaction metrics (CSAT score, NPS) are stored on the Case and aggregated in Customer Voice dashboards.
Customer Voice features: Survey designer (branded survey with company logo and colours). Multiple question types (rating scale, NPS, text, multiple choice, ranking). Conditional branching ("If score is 1 or 2, show follow-up question: What went wrong?"). Response analytics (aggregate scores, text analysis, trends over time). Real-time alerts (if a response score is below threshold, trigger immediate notification).
Licence: Customer Voice is included with most D365 licences (Customer Service, Sales). Check the specific licence terms for survey response volume limits.
Integration with D365 Customer Service: Power Automate trigger: "When a Case is resolved AND resolution reason = Problem Solved" → Send Customer Voice survey to the Contact email. Survey responses are automatically linked to the Case record in D365. Satisfaction metrics (CSAT score, NPS) are stored on the Case and aggregated in Customer Voice dashboards.
Customer Voice features: Survey designer (branded survey with company logo and colours). Multiple question types (rating scale, NPS, text, multiple choice, ranking). Conditional branching ("If score is 1 or 2, show follow-up question: What went wrong?"). Response analytics (aggregate scores, text analysis, trends over time). Real-time alerts (if a response score is below threshold, trigger immediate notification).
Licence: Customer Voice is included with most D365 licences (Customer Service, Sales). Check the specific licence terms for survey response volume limits.
💡 Pro Tip: Configure a low-score alert workflow: "If CSAT response is 1 or 2 stars, immediately create a follow-up task assigned to the case's agent and their manager, and set it due within 2 hours." This "service recovery" workflow converts a potential complaint into a customer retention action. It is one of the highest-ROI automations in any Customer Service implementation.
Understanding common failure causes helps consultants proactively mitigate risks — a key differentiator in interviews:
1. SLA configuration errors: Business hours not configured before SLA activation. SLA timers run on calendar time instead of business hours. Discovered in UAT when a case created on Friday shows a breach on Saturday.
2. Email-to-Case creating duplicate cases: Auto-reply emails from the case acknowledgement template trigger another Email-to-Case, creating an endless loop. Fix: Exclude emails FROM D365 from triggering case creation (filter by sender domain).
3. Knowledge Base not ready at go-live: Go live with an empty or thin KB — Copilot and Smart Assist surface useless suggestions. Fix: Minimum 80 KB articles covering top case types must exist before go-live.
4. Queue routing misconfigured: Cases route to wrong queues — billing cases go to technical support queue. Fix: Thorough routing rule testing with real case examples in UAT.
5. Agent training insufficient: Agents trained on where to click but not on WHY the process exists. They skip required fields and create poor data. Fix: Role-play training scenarios, not just click-through demos.
1. SLA configuration errors: Business hours not configured before SLA activation. SLA timers run on calendar time instead of business hours. Discovered in UAT when a case created on Friday shows a breach on Saturday.
2. Email-to-Case creating duplicate cases: Auto-reply emails from the case acknowledgement template trigger another Email-to-Case, creating an endless loop. Fix: Exclude emails FROM D365 from triggering case creation (filter by sender domain).
3. Knowledge Base not ready at go-live: Go live with an empty or thin KB — Copilot and Smart Assist surface useless suggestions. Fix: Minimum 80 KB articles covering top case types must exist before go-live.
4. Queue routing misconfigured: Cases route to wrong queues — billing cases go to technical support queue. Fix: Thorough routing rule testing with real case examples in UAT.
5. Agent training insufficient: Agents trained on where to click but not on WHY the process exists. They skip required fields and create poor data. Fix: Role-play training scenarios, not just click-through demos.
💡 Pro Tip: The #1 D365 Customer Service go-live failure: Email-to-Case going live against the real support mailbox without end-to-end testing. ALWAYS test Email-to-Case with a dedicated test mailbox before switching to the real mailbox. Send 20 test emails covering different scenarios (new customer, existing customer, follow-up email to existing case) and verify each creates the correct outcome in D365.
A phased implementation approach for D365 Customer Service reduces risk by delivering value incrementally rather than attempting to go live with all features at once:
Phase 1 — Core Case Management (Weeks 1-10): Email-to-Case, Case lifecycle, SLA configuration, Queue and routing, Security roles, Case forms and views, KB foundation (50 articles), CSAT surveys, Agent and supervisor training. Go-live outcome: All customer contacts managed in D365, SLAs measured, CSAT collected.
Phase 2 — Self-Service and Knowledge (Weeks 11-18): Customer portal (Power Pages) with KB search and case submission. KB expansion to 150+ articles. Bot for FAQ deflection (Copilot Studio). Go-live outcome: 20-25% contact deflection to self-service.
Phase 3 — Omnichannel (Weeks 19-28): Live chat channel. WhatsApp integration. Omnichannel agent workspace. Sentiment analysis and real-time supervisor dashboard. Go-live outcome: Real-time channel handling in D365 workspace.
Phase 4 — AI and Optimisation (Months 7-9): Copilot for agent assist. Conversation summaries. Predictive CSAT. Advanced analytics.
Phase 1 — Core Case Management (Weeks 1-10): Email-to-Case, Case lifecycle, SLA configuration, Queue and routing, Security roles, Case forms and views, KB foundation (50 articles), CSAT surveys, Agent and supervisor training. Go-live outcome: All customer contacts managed in D365, SLAs measured, CSAT collected.
Phase 2 — Self-Service and Knowledge (Weeks 11-18): Customer portal (Power Pages) with KB search and case submission. KB expansion to 150+ articles. Bot for FAQ deflection (Copilot Studio). Go-live outcome: 20-25% contact deflection to self-service.
Phase 3 — Omnichannel (Weeks 19-28): Live chat channel. WhatsApp integration. Omnichannel agent workspace. Sentiment analysis and real-time supervisor dashboard. Go-live outcome: Real-time channel handling in D365 workspace.
Phase 4 — AI and Optimisation (Months 7-9): Copilot for agent assist. Conversation summaries. Predictive CSAT. Advanced analytics.
💡 Pro Tip: Always present the phased roadmap to clients at the start of the project. Clients often want everything in Phase 1. The phased approach argument: "Phase 1 delivers 80% of the value in 40% of the time. Later phases build on a stable foundation rather than a rushed, unstable one." Most experienced clients accept this logic once the trade-offs are explained clearly.
Page 1 of 8