Che cos’è il proactive outbound engagement

Il proactive engagement è la capacità di far partire la conversazione dal lato azienda, sui canali voice e SMS, combinando agenti AI e representative umani. La documentazione lo inquadra in quattro scenari, ed è una distinzione che conviene memorizzare perché decide quale licenza serve.

Il primo scenario sono i CRM system workflows: si scatena una chiamata o un messaggio in uscita a partire da una condizione, per esempio la chiusura di un case. I trigger disponibili sono due. Le CCaaS API e i flussi Power Automate sono nativi in Dynamics 365 Contact Center. I Customer Insights Journey triggers, che avviano l’engagement quando un record viene creato o aggiornato, richiedono invece la licenza Dynamics 365 Customer Insights.

Il secondo scenario è l’AI agents-led proactive engagement, dove sono agenti AI (per esempio agenti di monitoraggio dei case o delle frodi) a schedulare chiamate su richiesta; il Dynamics 365 Contact Center MCP server, in preview, espone gli strumenti per farlo senza integrazioni API manuali.

Il terzo è la campagna single-channel, single-step: una sola azione su un segmento di contatti, con logica di retry opzionale, senza diramazioni. Promemoria di appuntamento, solleciti di pagamento via SMS, survey. Questo è ciò che si configura interamente dentro Contact Center.

Il quarto sono i deterministic multi-channel, multi-step journeys: orchestrazioni su più giorni con branching su voce, email, SMS e notifiche push. Qui serve Customer Insights oltre a Contact Center.

Attenzione al confine fra prodotti. Il proactive engagement è funzionalità di Dynamics 365 Contact Center, e la pagina del dashboard storico lo dichiara esplicitamente come applicabile al solo Contact Center. Però molte pagine collegate (workstream, canale voce, canale SMS, disposition code, analytics) vivono sotto la documentazione di Customer Service ed è da lì che si abilita il report. Non è un errore della doc: è il modello a documentazione condivisa fra i due prodotti.

Workstream outbound e wizard della campagna

Il prerequisito è un workstream creato con l’opzione Outbound. Per la voce si sceglie il numero nella lista Shared numbers della pagina Phone number; per l’SMS si imposta type Messaging e channel SMS. Si configura poi la work distribution e, facoltativamente, si aggiunge un agente AI al workstream. Due notification template sono disponibili out of the box: Voice call - outbound agent dial - default per il preview dial mode e Voice call - outbound pre-dial - default per i modi predictive, progressive e Copilot. Le regole di routing vengono generate dal sistema e compaiono sotto Auto generated rules (advanced): non si scrivono a mano.

La campagna si crea nel Copilot Service admin center, da Productivity sotto Support experience, selezionando Manage per Proactive engagements e poi New; in alternativa dalla pagina del workstream con New proactive engagement. Il wizard Create new proactive engagement attraversa Audience, Details, Dialing modes (solo voce), Display number configuration (solo voce), Reattempts (solo voce), Frequency limits, Preferences e SMS template configuration (solo SMS), Summary.

In Audience si sceglie la sorgente dei contatti: Contact Center, con intake Upload a file, CCaaS API o MCP (preview), oppure Conversational Journeys in Customer Insights. Sempre qui si sceglie l’Engagement type: Led by representatives o Led by AI. Un singolo workstream può eseguire simultaneamente entrambi i tipi.

In Details si impostano nome, descrizione (entrambi visibili al representative durante la chiamata), workstream, channel type, il Contact unique identifier — il default è contactid, e il sistema fa update o insert su quella chiave, quindi sceglierla male genera contatti duplicati — e i Routing details con Primary queue, Fallback queue e Skills.

I dialing mode e la soglia dei representative disponibili

I quattro modi sono Copilot, Preview, Progressive e Predictive.

Copilot vale per gli engagement guidati dall’AI: il sistema compone e, alla risposta, collega l’agente AI registrato sul workstream, che può escalare a un representative. È il modo per i grandi volumi, con un Max number of concurrent calls for Copilot Mode fino a 500.

Preview vale per gli engagement guidati dai representative: il sistema notifica la richiesta, e dopo l’accettazione la chiamata parte in modo Automatic (dopo un countdown) o Manual. Privilegia l’esperienza cliente rispetto all’utilizzo del representative.

Progressive avvia un numero di chiamate pari ai representative disponibili in coda. Predictive usa un algoritmo dinamico che avvia chiamate proporzionali alla disponibilità prevista. Il numero da ricordare è questo: il predictive richiede almeno 10 representative disponibili; se scendono sotto 10 il sistema si comporta come progressive, una chiamata per ogni representative che si libera, e torna automaticamente a predictive quando risale sopra 10.

L’esame è probabile che vi chieda di abbinare uno scenario al modo giusto, e la trappola è duplice. Primo: progressive e predictive esistono in entrambe le varianti, AI agent-led e representative-led, con algoritmi diversi. Secondo: la documentazione avverte che l’uso di questi modi per marketing o vendita commerciale viola i termini di servizio Microsoft, e che il tempo di connessione dei modi progressive e predictive representative-led non è conforme al TCPA. Non è una nota a piè di pagina: è un vincolo di design.

Consenso, limiti di frequenza e i due dashboard

Il consenso non è un adempimento a margine, è un gate che il sistema applica prima della consegna. Si gestisce da Copilot Service admin center > Productivity > Proactive engagement, selezionando Manage accanto a Consent, e richiede il ruolo Omnichannel administrator. Tutti i record di consenso creati dal proactive engagement usano il compliance profile PES: sono considerati transazionali con opt-in implicito, cioè il cliente si presume consenziente finché non fa opt-out esplicito.

L’opt-out si crea automaticamente in due casi: quando arriva un SMS di opt-out dal cliente (per esempio la risposta STOP) e quando un representative marca la conversazione con il disposition code Do not contact. Manualmente si creano e si modificano i record da Voice consent o Text consent, ed è previsto un bulk upload per importare liste do-not-call preesistenti. L’effetto sulla campagna: quando si avvia una delivery via API, file upload, MCP o journey di Customer Insights, il sistema verifica il consenso prima di chiamare o inviare, e se il cliente ha fatto opt-out non inizia la consegna e marca la richiesta di conseguenza.

Accanto al consenso stanno i Frequency limits, con Maximum engagements per day e Maximum engagements per week calcolati su tutti i canali, le quiet hours per ciascun tipo di numero (Mobile Phone, Business Phone, Home Phone) e la scelta del fuso: o il time zone presente sul record contatto, con fallback a UTC, oppure UTC per tutti. Il sistema non deduce il fuso dalla geografia: va fornito nel file o nel payload.

Sul monitoraggio, la confusione tipica è credere che il dashboard sia uno solo. Sono due. Il Proactive Engagement dashboard vive in Omnichannel real-time analytics e mostra il lavoro in volo con KPI come Total unique engagements pending, Total engagements in progress, Throughput, Time remaining, Abandoned rate e Connect rate. Il Proactive Outbound dashboard vive in Omnichannel historical analytics e serve l’analisi retrospettiva, con i grafici Total deliveries by status, Processed deliveries by result e Processed deliveries by dial mode, più le tabelle per configuration, per queue e per data. Entrambi richiedono il ruolo Omnichannel Supervisor e si aprono dal Customer Service workspace; il dashboard storico va prima abilitato dal Customer Service admin center.

Per il reporting grezzo, infine, i dati stanno in Dataverse: la pagina di reference documenta le tabelle msdyn_proactive_delivery e msdyn_proactive_delivery_attribute, con lo Status della delivery fra Pending, InProcess, Complete, Expired, Cancelled o Error. Segnalo una discrepanza reale nella documentazione: la pagina del Proactive Outbound dashboard scrive il nome senza underscore interni. Se in esame vedete il nome logico, fidatevi della pagina di reference delle tabelle.