D365 Contact Center / Omnichannel / Customer Service: ALM a release management

Interní decision-making podklad
Datum: 2026-05-19
Scope: Dynamics 365 Customer Service, Omnichannel for Customer Service a Dynamics 365 Contact Center konfigurace
Zdroj: konsolidace research výstupu z kanban parent tasku t_a229817e


Executive summary

Pro D365 Customer Service / Omnichannel / Contact Center neexistuje bezpečný univerzální model „všechno přeneseme jedním solution importem“. Správný enterprise přístup je kombinovaný:

Největší riziko je unified routing a channel konfigurace. Queues, capacity profiles, skills, decision contracts, decision rule sets, workstreams a channel konfigurace mají pevné dependencies. U routing pravidel může být dvoufázový / „double import“ záměrný, ne chyba.

Doporučení: postavit release model jako verzovaný runbook + pipeline, která odděluje:

  1. solution metadata,
  2. CMT referenční konfigurační data,
  3. environment-specific nastavení,
  4. ruční/provozní post-deploy validaci.

Doporučený ALM / release management přístup

Princip

Používat stejný build artifact přes TEST → UAT/PREPROD → PROD. V produkci nevytvářet nové zipy, nedělat neřízené unmanaged změny a nefixovat konfiguraci ručně bez propsání zpět do DEV/source control.

Prostředí

Prostředí Účel Doporučení
DEV Vývoj Unmanaged solutions, maker změny povolené, export do Gitu.
BUILD Build artifact Pack/unpack, solution checker, vytvoření managed solution artifactů.
TEST/SIT Technická validace První import managed artifactů, CMT data, smoke testy.
UAT/PREPROD Business validace Stejný artifact jako TEST, rehearsal runbooku, rollback rehearsal.
PROD Produkce Approval gate, release window, monitoring, žádné ad-hoc unmanaged změny.

Doporučená repo struktura

/solutions/base-dataverse
/solutions/customer-service-config
/solutions/omnichannel-channel-config
/solutions/copilot-agents
/config-data/cmt/schemas
/config-data/cmt/data/dev|test|uat|prod
/deployment/settings/test.json
/deployment/settings/uat.json
/deployment/settings/prod.json
/runbooks/omnichannel-release.md
/scripts/predeploy
/scripts/postdeploy
/scripts/validate
/scripts/rollback

Automatizace

Použitelné varianty:

Praktické doporučení:


Matice komponent: Solution vs CMT vs kombinace vs ručně

Komponenta Mechanismus Jistota Praktická poznámka
Vlastní tabulky, sloupce, vztahy Solution Vysoká Standardní Dataverse metadata. DEV unmanaged, vyšší prostředí managed.
Formuláře, views, model-driven app customizace Solution Vysoká Standardní ALM přes solutions.
Security roles Solution + post-deploy assignment Vysoká Definice role v solution; přiřazení uživatelům/týmům řešit environment-specific.
App / experience profiles Solution Střední-vysoká Ověřit konkrétní tabulky a vazby podle verze aplikace.
Session templates Solution Vysoká Nasazovat před workstreams/routing konfigurací.
Notification templates Solution Vysoká Včetně notification fields.
Agent scripts, macros, app tab templates Solution Vysoká Pozor na environment-specific URL a odkazy.
Workstreams / pracovní proudy Solution + CMT Vysoká Channel/workstream část solution, zbytek CMT; hlídat „Do not update existing records“.
Live Chat widget msdyn_livechatconfig Solution Vysoká Starting table pro solution migraci live chat kanálu.
Capacity profiles CMT pro inicializaci, solution pro update Vysoká Nové záznamy přes CMT; další aktualizace mohou jít přes solution, pokud target záznam existuje.
Konverzační queues CMT Vysoká Musí existovat před závislými workstream/routing konfiguracemi.
Queue membership Ručně / post-deploy Vysoká Vazby agentů jsou provozní a target-specific.
Decision contracts Solution + CMT Vysoká Citlivé na GUID remapping a pořadí importů.
Decision rule sets / routing rulesets Solution + CMT Vysoká Nejrizikovější oblast; často vícefázový import.
Intake/classification/route-to-queue/assignment pravidla Solution + CMT Vysoká Postupovat přesně podle Microsoft runbooku.
Quick replies CMT Vysoká Součást remaining channel configuration data.
Tags CMT Vysoká msdyn_octag.
System messages CMT Vysoká msdyn_ocsystemmessage.
Lokalizace system messages CMT Vysoká msdyn_oclocalizationdata.
Operating hours Solution + CMT + ruční kontrola Vysoká Calendar items se nemusí migrovat správně; nutná kontrola časových pásem a svátků.
Skill-based routing CMT Vysoká Characteristics, rating models, rating values; uživatelé/bookable resources často mimo standardní migraci.
Copilot Studio agenti Solution + post-deploy Vysoká Agent jako solution component; auth, channels, sharing, publish a connections validovat po importu.
Voice phone numbers / ACS Ručně / environment-specific Vysoká Phone number acquisition/config není běžný ALM artifact.
Channel provider/account settings Ručně / environment-specific Vysoká Mimo scope běžné channel migrace.
AI/analytics settings Ručně / environment-specific Vysoká Nečekat automatický přenos.

Doporučené pořadí deploymentu

Konkrétní Microsoft runbook pro daný channel/routing scénář má přednost. Obecné enterprise pořadí:

0. Před deployem

  1. Ověřit verze Dynamics 365 Customer Service / Contact Center ve source i targetu.
  2. Ověřit first-party solutions a feature flags.
  3. Ověřit publisher/prefix, solution boundaries a Git repo.
  4. Exportovat snapshot target konfigurace před CMT importy.
  5. Připravit environment variables, connection references a secrets mapping.
  6. Připravit rollback/revert postup pro každý CMT balíček.

1. Base Dataverse solution

Obsah:

2. Customer Service app/profile/template solution

Obsah:

Důvod: workstreams a routing konfigurace mohou na tyto prvky odkazovat.

3. Copilot Studio solution artifacts

Obsah:

Po importu ještě nepočítat s hotovým runtime stavem. Auth, channels, sharing, publish a vazby na D365 se ověřují později.

4. CMT prerequisites: skills a capacity

Obsah:

5. CMT queues

Obsah:

Pozor: nemíchat create a update queue records v jednom importu, pokud konkrétní Microsoft postup říká import rozdělit.

6. Decision/routing CMT fáze

Obsah:

Doporučení: rozdělit CMT balíčky podle fází, např.:

routing-01-decision-contracts
routing-02-queues
routing-03-assignment-no-criteria
routing-04-assignment-criteria

7. Channel/workstream solution import

Obsah:

8. Remaining channel configuration CMT

Obsah:

9. Environment-specific post-deploy

Obsah:

10. Validace

Minimum:


Známé problémy, rizika a dependency traps

1. Workstream není čistě solution-only

Microsoft doporučuje solutions framework pro channel/workstream konfigurace, ale zároveň používá CMT pro remaining configuration data a prerequisites. Praktický závěr: workstream/channel release musí být řízený runbook, ne jednorázový export/import.

Rizika:

Guardrail: pro CMT balíčky definovat update/create chování a po každé fázi validovat počty záznamů.

2. Queues musí existovat před routing/workstream vazbami

Queues jsou CMT data a jsou dependency pro routing a workstream konfigurace.

Rizika:

Guardrail: queue import a membership provisioning mít jako explicitní release krok.

3. Capacity profiles jsou hybrid

Nové capacity profiles migrovat přes CMT; následné aktualizace mohou jít přes solution, pokud target záznam existuje a mapuje správně.

Rizika:

Guardrail: stabilní unikátní klíče a kontrola target mappingu před solution updatem.

4. Decision contracts / rule sets jsou nejcitlivější oblast

U unified routing může být potřeba vícefázový import. „Double import“ není nutně bug; může být záměrný kvůli dependency graphu.

Typické pasti:

Guardrail: rozdělit CMT packages podle fází, pojmenovat je pořadím a po každém importu kontrolovat klíče a počty.

5. Operating hours vypadají přeneseně, ale nemusí fungovat

Operating Hour může být related record v solution i CMT datech, ale calendar items a časová pásma vyžadují kontrolu.

Rizika:

Guardrail: post-deploy validace calendar items, time zone a svátků v každém target prostředí.

6. Copilot Studio agent není po importu automaticky produkčně připravený

Copilot agenti se přenášejí přes solutions, ale runtime vazby často vyžadují post-deploy.

Rizika:

Guardrail: samostatný Copilot release checklist: auth, channels, permissions, publish, test conversation, D365 handoff.

7. Voice a channel provider nastavení jsou environment-specific

Phone numbers, ACS, channel provider configuration, account settings a část AI/analytics nastavení nejsou bezpečně přenositelné jako běžné solution/CMT artifacts.

Guardrail: držet je jako explicitní post-deploy checklist, credentials mimo Git a mimo běžná CMT data.

8. Rollback není jednotný

Managed solution upgrade má jiné rollback vlastnosti než CMT data import. CMT není transakční rollback celého release.

Guardrail:

  1. Před CMT importem exportovat target snapshot stejného schématu.
  2. Pro každý CMT balíček mít revert postup.
  3. Routing/queue rollback dělat v opačném pořadí než import.
  4. Rehearsal rollbacku provést v UAT/PREPROD.
  5. Neplést solution rollback s data rollbackem.

Guardraily pro DEV / TEST / UAT / PROD

DEV

BUILD

TEST / SIT

UAT / PREPROD

PROD


Praktické rozhodnutí pro implementaci

Doporučený cílový model:

  1. Rozdělit řešení minimálně na:
  2. base Dataverse solution,
  3. Customer Service config solution,
  4. Omnichannel channel/workstream solution,
  5. Copilot agents solution.
  6. CMT balíčky verzovat a pojmenovat podle dependency pořadí.
  7. Každý release mít jeden manifest:
  8. solution artifacts,
  9. CMT packages,
  10. target deployment settings,
  11. post-deploy checklist,
  12. rollback checklist.
  13. Před PROD vyžadovat UAT/PREPROD dress rehearsal.
  14. V produkci nepouštět CMT opakovaně bez idempotence a ověření unikátních klíčů.

Krátký závěr

D365 Customer Service / Omnichannel / Contact Center konfigurace nelze bezpečně releasovat pouze jako solution. Enterprise ALM musí kombinovat managed solutions, CMT konfigurační balíčky, environment variables / connection references a explicitní post-deploy kroky. Největší riziko je unified routing: queues, capacity profiles, skills a decision rule sets mají pevné dependency pořadí a některé části vyžadují dvoufázový import. Doporučený přístup je verzovaný release runbook a pipeline, která odděluje solution metadata, referenční konfigurační data a environment-specific provozní nastavení.


Primární zdroje použité v parent research