Due direzioni di integrazione da non confondere

Sotto l’etichetta “CCaaS di terze parti” la documentazione descrive due scenari opposti, e scambiarli è l’errore più frequente.

Nel primo si tiene il CRM esistente e si sostituisce il contact center con quello Microsoft. Il pezzo che finisce dentro il sistema altrui è l’embedded conversation widget, descritto come una funzionalità di Dynamics 365 Contact Center che permette al representative di chattare o di gestire conversazioni vocali con i clienti direttamente da un CRM non Microsoft; si incorpora in qualsiasi pagina web o applicazione che supporti HTML e JavaScript. La documentazione chiama questa configurazione Dynamics 365 Contact Center—embedded, in contrapposizione a Dynamics 365 Contact Center—standalone.

Nel secondo si tiene la telefonia di terze parti e la si porta dentro un’app model-driven: lì lo strumento è Dynamics 365 Channel Integration Framework. La versione 1.0 copre le app a sessione singola (Customer Service, Sales, Project Service, Field Service) con un solo provider alla volta; la 2.0 è pensata per le app multisessione, cioè Omnichannel for Customer Service e Copilot Service workspace, supporta più provider di telefonia insieme, porta il communication panel a sinistra e aggiunge le modalità Docked, Minimized e Hidden. Nota di prodotto: il framework è documentato interamente sotto Customer Service, ma è quello che si usa anche in uno scenario Contact Center.

Configurare l’esperienza incorporata

L’URL da incorporare si recupera in Copilot Service admin center: dalla welcome page si sceglie Open sotto Your default contact center, si apre la scheda Conversation widget e si legge l’indirizzo sotto Integration into third-party systems. Prerequisiti comuni: requisiti di sistema soddisfatti, capacità omnicanale abilitate nell’organizzazione e permessi di System Administrator sulla piattaforma esterna.

Poi la procedura cambia per piattaforma. In Salesforce si scarica il file di definizione del call center pubblicato da Microsoft su GitHub, si sostituisce l’URL dell’adapter CTI con quello del widget e lo si importa da Setup > Call Center > Import; si aggiungono gli utenti con Manage Call Center Users, si crea un Softphone Layout e si aggiunge la utility Open CTI Softphone alla Service Console da App Manager > Utility Items. In ServiceNow serve invece il plugin OpenFrame: si crea un record in All > OpenFrame > Configurations indicando nome, titolo, larghezza, altezza e URL del widget.

I dati del cliente sono un capitolo separato dal widget. Per Salesforce esiste un connettore dedicato che porta contatti e account in Dataverse, da Support experience > Workspaces selezionando Manage su Data synchronization from external CRMs (o dal CRM connection wizard in home page): si scelgono le tabelle Contacts e Accounts, si mappano le colonne e si assegna il Team ID che scriverà su Dataverse. La documentazione avverte che le modifiche fatte in Dataverse non tornano verso Salesforce. Per ServiceNow e Zendesk la strada è diversa: flussi Power Automate, connettore msdyn_ContactCenterCRMConnector e le colonne msdyn_source_crm, msdyn_source_crm_id e msdyn_source_crm_url, con sincronizzazione incrementale via REST message e business rule in ServiceNow e via webhook in Zendesk.

Lato representative, Copilot si apre nel pannello laterale con la scheda Ask a question pronta; da lì si raggiungono Write an email e la generazione delle resolution notes, mentre Summarize conversation si lancia dal communication panel. L’abilitazione passa dagli experience profile: nel riquadro Productivity Pane si accende Copilot for questions and emails e nella sezione Copilot AI features si scelgono le singole voci.

Simulare un journey prima di accenderlo

Le agentic simulations servono a testare e validare configurazioni, agenti AI e flussi di routing prima del rilascio. Sono in preview e, nella release di preview, sono disponibili solo per gli inbound workstream del canale voice: niente chat, niente canali asincroni. Servono il ruolo System administrator oppure Omnichannel administrator, il canale voice provisioned e un numero di telefono configurato.

Si parte dalla home di Copilot Service admin center selezionando Launch sul riquadro Agentic Simulation. Si scrive un prompt in linguaggio naturale oppure se ne sceglie uno dalla prompt library, organizzata in suggested, saved e recent; se il prompt non è utilizzabile lo strumento segnala l’errore o pone domande di chiarimento. Nel prompt va indicato il numero associato al workstream che deve ricevere la chiamata, mentre il numero chiamante è un default per regione gestito automaticamente.

I limiti sono precisi: un prompt può chiedere al massimo cinque conversazioni, il sistema ne simula due in contemporanea, si esegue una sola simulazione per volta in un’organizzazione, le simulazioni sono solo in inglese, le chiamate non accettate terminano dopo cinque minuti come le chiamate accettate, e il DTMF non è supportato. Il consumo è tracciato come crediti Microsoft Copilot Studio sotto la voce D365 Contact Center Agentic Simulation nel Power Platform admin center.

I risultati si leggono su tre superfici: mentre la simulazione gira le conversazioni compaiono nel report Ongoing conversation; la pagina Simulation Run History elenca prompt usato, stato e esecuzioni completate; transcript e registrazioni si aprono dal form della conversazione chiusa. Il pannello dei risultati mostra metriche come il totale delle conversazioni e il sentiment medio. Perché quei numeri significhino qualcosa, la documentazione raccomanda di configurare representative e routing rules in modo che le chiamate simulate vengano davvero gestite.

Che cosa verifica l’esame

Le domande su questo punto girano su tre discriminanti. La direzione dell’integrazione: widget incorporato e connettori dati quando il CRM resta di terze parti, Channel Integration Framework quando è la telefonia a esserlo. Il perimetro dell’esperienza embedded, che non offre tutte le funzionalità Copilot. E qui va segnalata una discrepanza reale nella documentazione: la pagina di abilitazione delle funzionalità Copilot di Contact Center mette “Summarize a case” a No per l’embedded, mentre la tabella di disponibilità fra prodotti dà a Yes la voce “Summarize cases in non-Microsoft CRMs” proprio e solo nell’embedded. Davanti a una domanda secca su quel confine conviene ragionare sulla voce citata, non sulla memoria. Terza discriminante, la simulazione: è in preview e solo voice inbound, quindi qualunque risposta che la dia per disponibile su chat o su un workstream outbound è sbagliata.