Almanac
Microsoft/d365csDynamics 365

Consultant-focused KB for Microsoft Dynamics 365 Customer Service: implementation notes, gotchas, and configuration decisions beyond the official docs — across case management, queues and routing, knowledge base, SLAs, omnichannel, agent experience, Copilot, analytics, and administration.

feature-agent-experience-workspace-multisession.mdv1 · history
CurrentApplies to EnterpriseUpdated 6 days agoSource Microsoft Learn

What it does

Customer Service workspace — now branded Copilot Service workspace in the docs — is the multisession model-driven app agents actually live in. It gives each piece of work its own session in a left-hand rail, with a browser-style row of tabs inside that session, so an agent can hold several cases and conversations open at once without losing context.

Key facts

  • Hard ceiling of 9 concurrent sessions per agent, plus the Home session. Ten tabs per session. Neither number is configurable.
  • Every session has an anchor tab. It can't be closed and it can't be swapped out at runtime; it's fixed by the session template.
  • A session starts when an agent opens a case from Home or accepts a routed conversation. Opening a related record from inside a session gives you a new tab in that session, not a new session.
  • Pages opened from the site map (hamburger) load into whatever session currently has focus, which is the single most common source of "the agent lost the case" tickets.
  • State is not preserved when you switch tabs or sessions: subgrid filter and sort conditions reset, and web resources, form components and custom pages reload to their initial state.
  • Records don't cross-refresh. Change a case status in one tab and a second tab showing the same record keeps the stale value until it's refreshed.
  • Session restore, which reloads cases, accounts and their tabs after a browser refresh and reinstates conversations once presence loads, is a preview feature and has to be turned on. Without it a refresh drops the agent back to Home.
  • Only one browser instance should have the app open. Two instances fight over session and presence state.
  • Not supported on mobile, in Unified Service Desk, embedded in Microsoft Teams, or on Customer Engagement on-premises.
  • The Microsoft.Apm client API namespace (createTab, createSession, and friends) is the supported way to open sessions and tabs from script.
  • Multisession can be switched on for a custom model-driven app via Workspaces > Productivity setting for model-driven apps in the Copilot Service admin center, but only for apps in an unmanaged solution. Out-of-the-box apps such as Sales Hub can't be enabled.

When to use / skip

If the client's agents handle one thing at a time — a queue of email cases worked start to finish — the multisession app is overhead. Customer Service Hub was the sane answer for that shape of work, and with Hub now on a deprecation path you'll end up in workspace anyway, so plan for it rather than fight it. Where it genuinely pays is any team that gets interrupted: live chat and voice alongside case work, or back-office agents who juggle three or four investigations at once. Be honest with the client that the payback is context retention, not raw speed. Agents who previously worked in five browser tabs will not feel it as a revolution.

Configuration decisions

  • Which app the agents actually get: Customer Service workspace, or a custom multisession app with your own site map. Custom means you own the navigation and the upgrade testing forever.
  • Whether the Home session shows a dashboard or the inbox, and which dashboard — this is the screen agents stare at between interactions.
  • Whether to turn on session restore in preview, given it changes refresh behaviour for everyone on the profile.
  • Whether to suppress the close-session warning dialog. It's a per-user setting (msdyn_SuppressSessionCloseWarning) rather than an admin toggle, so suppressing it at scale needs a script.
  • How much you push into tabs versus the anchor form. Ten tabs sounds generous until a session template opens four of them automatically.
  • Whether developers use the Microsoft.Apm APIs for navigation, or whether standard Xrm.Navigation calls are allowed to land wherever they land.

Gotchas

  • The nine-session limit is not a soft warning. Agents who habitually park work in sessions will hit it and be blocked from accepting the next conversation.
  • Custom form scripts written for a single-session app frequently break here, because form load runs many times across tabs and there is no page-level teardown between sessions.
  • Web resource and third-party website tabs re-initialise every time an agent tabs away and back. Anything with unsaved user input in a web resource loses it silently.
  • Enabling multisession on a custom app requires the app to be in an unmanaged solution in the dev environment; the setting travels with the solution, so retro-fitting it to an app that only exists as managed in production is a rebuild.
  • The rename to Copilot Service workspace means the docs, the admin centre and your client's training materials are now using three different names for the same app. Agree one and stick to it.
  • Performance complaints in workspace are usually form weight multiplied by tab count, not the app. Ten heavy case forms open at once will expose every slow subgrid you shipped.

Consultant notes

  • Demo the session rail with three sessions open and a conversation arriving. That's what sells it, not a feature list.
  • Test with the client's real form, not the out-of-the-box case form. Load time per tab is the number that decides whether agents accept the app.
  • Before go-live, check what happens on browser refresh with the agent's actual profile. If session restore is off, tell the client plainly that a refresh loses the workspace.
  • Push back on requests to raise the session limit. It isn't a setting, and the ask is normally a symptom of agents using sessions as a to-do list — fix that with the inbox instead.
  • Get a decision early on the site map. Agents opening pages into the wrong session is a training problem you can partly design away.

Worth revisiting once session restore leaves preview, and again if the Copilot Service workspace rename settles into the product UI.

Was this accurate?