Prima il pacchetto, poi le persone
Il workforce management (WFM) non è una casella da spuntare dentro il centro di amministrazione: è un pacchetto a sé che va installato prima di poter configurare qualunque cosa. Si installa dal Power Platform admin center: Environments, l’ambiente giusto, poi sulla toolbar Resources e Dynamics 365 Apps, quindi Install App e, nell’elenco, Workforce Management for Customer Service. Servono i permessi di system administrator o equivalenti. Il nome inganna: si chiama “for Customer Service” ma il WFM vale sia per Dynamics 365 Contact Center (embedded e standalone) sia per Dynamics 365 Customer Service; la panoramica sta sotto la documentazione di Customer Service, quasi tutte le procedure sotto quella di Contact Center.
Il secondo prerequisito è comune a ogni pagina di configurazione WFM: la preparazione degli utenti. In concreto i supervisori devono avere il security role Omnichannel supervisor e i representative — le persone in carne e ossa che gestiscono le conversazioni — il ruolo Omnichannel agent. Poi si creano le competenze in Skills hub e si assegnano con Enhanced user management, dal menu Update user attributes con Update skills. Infine, per ogni representative serve un record Bookable Resource (con Resource Type impostato su User, il nome e il fuso orario) e le work hours. Senza bookable resource la persona semplicemente non è schedulabile: è il punto in cui si blocca chi salta il passaggio.
Turni: tipi di attività, shift plan, schedule board
Da qui in avanti si lavora nel Copilot Service admin center, in Operations e poi Workforce management, dove le funzionalità sono raggruppate in sezioni. In Shift & Schedule Management trovi Activity types: un Shift Activity Type definisce il tipo di lavoro di una prenotazione e ha campi Name, Assignment status, Work Type (Productive o Non Productive), Subtype per pasto o pausa, Duration (facoltativo, ma senza un valore l’attività non compare nello shift plan), Owner, i colori per tema chiaro e scuro, e il toggle Adherence con la mappatura sugli stati di presenza e la Tolerance (HH:mm:ss), cioè il periodo di grazia prima che l’aderenza venga applicata. Sempre lì, Schedule Management espone Allow agents to accept schedule e Schedule acceptance deadline (days): se entro la scadenza la persona non accetta né rifiuta, il sistema porta la schedule a rejected.
La pianificazione vera avviene nel Copilot Service workspace. In Workforce Management apri Shift Planning, la pagina My Shift Plans, e con New scegli Schedule manually oppure Schedule with capacity plan. Lo shift plan raccoglie Shift Plan Name, date di inizio e fine, Required Staff, orari, fuso orario e l’Activity Itinerary; ricorda che orario di inizio e time zone non si possono più cambiare dopo il salvataggio. Con Schedule Workforce si apre lo schedule board: le attività sono tile con stato Committed o Unpublished, si filtra per skill e per queue, si usa Representative assignment view (All, Matched, Shift bids, Assigned) e si pubblica a segmenti fino a sei settimane. Auto-Schedule popola il board in blocco usando i filtri Agent availability, Match Skills, Match Queue e l’Availability order, mentre la Break distribution distribuisce pause e pasti solo sulle attività Non Productive con subtype meal o break già presenti nello shift plan.
Nota di lessico, utile all’esame: alcune etichette del portale dicono ancora “agents” (per esempio Allow agents to accept schedule o Add agents to schedule) ma parlano di persone, non di agenti AI. Riporta l’etichetta com’è, e non lasciare che la stringa della UI ti faccia sbagliare il concetto.
Previsioni e capacity planning
Sono due funzionalità distinte con due toggle distinti, entrambi nella sezione Forecasting della pagina Workforce management: Forecast volume con Enable forecasting, e Capacity planning con Enable capacity planning. Il forecasting arriva a previsioni giornaliere fino a tre anni (1096 giorni) e a intervalli di 15 minuti fino a sei settimane, con scomposizione per canale e per coda.
Uno scenario si crea nel workspace, in Forecasting, dalla pagina Active Forecast Scenarios, scegliendo Short-term o Long-term: durata fino a 42 giorni per il breve termine e 1.095 per il lungo, Forecast entity su Conversation o Case, canali, code, e nella scheda Historical data un Data source Internal o External con data di inizio e Seasonality. Dopo il salvataggio lo scenario resta in Draft fino alla prima esecuzione pianificata, e Forecast type, Interval, Forecast entity e Data source non sono più modificabili. Serve inoltre il privilegio Read sulla tabella msdyn_dataanalyticsreport_forecast. Con sorgente esterna i dati arrivano da un CSV caricato prima in Forecast External Data (New WEM File Upload, con File data interval Intraday o Daily) e l’Auto refresh non è disponibile.
Il capacity plan traduce il volume in persone: si sceglie il Forecast Scenario e si impostano Service Level (%), Shrinkage, Target Answer Time (Seconds) e Concurrency (#), che per la voce vale 1. Uno scenario usato da un capacity plan non si può eliminare.
Routing per turni e soluzioni di terze parti
Il legame con il routing esiste ed è esplicito: Shift-based routing, con il toggle Enable routing based on shift bookings, fa sì che le assignment rules considerino turni e assenze, evitando di assegnare lavoro a chi è fuori servizio. In Analytics si attiva poi Adherence historical analytics per l’analisi storica dell’aderenza.
Se l’organizzazione usa già un WFM esterno, l’integrazione passa dalle API di Dataverse, in modo bidirezionale: dall’esterno entrano turni, assegnazioni e assenze, mentre verso l’esterno escono aderenza in tempo reale, volumi storici e stato delle persone. L’autenticazione consigliata è service-to-service con Microsoft Entra ID e OAuth 2.0 client credentials. Punto chiave da ricordare: shift-based routing e aderenza continuano a funzionare anche con schedule importate dall’esterno, quindi la scelta fra WFM nativo e terze parti non ti fa perdere il routing per turni.