Microsoft365 (precedentemente noto come Office365) è il software di produttività cloud maggiormente impiegato in ambito aziendale. Offre una suite di applicazioni note a tutti che possono interagire tra di loro in un ecosistema bilanciato, per dare all’utente la possibilità di creare logiche di business esaustive ma senza ricorrere a complessi linguaggi di programmazione.
Certe attività di Microsoft365, però, nonostante la loro utilità, sono spesso ripetitive e una consistente parte del tempo di lavoro rischia di venire impiegata in azioni che potrebbero essere facilmente automatizzate.
Si pensi, ad esempio, alla ricezione di un foglio Excel contenente delle provvigioni di vendita come allegato e-mail, valori che magari un impiegato deve poi riportare manualmente dentro a una lista di Share Point: un lavoro ripetitivo, che richiede una certa quantità di tempo, ma che si basa su dei parametri e logiche ben definite, che ne consentirebbero l’automazione.
Qui entra in gioco Power Automate, un tool software low code che Microsoft rende disponibile all’interno di Microsoft365. Power Automate (precedentemente noto come Flow) permette appunto di costruire dei flussi automatici per delegare l’esecuzione di attività ripetitive al software stesso.
L’interfaccia di Power Automate
Power Automate permette di combinare insieme oggetti e logiche di diversi programmi di Microsoft365: un flusso automatizzato può generarsi in Outlook, ma concludersi in Teams utilizzando un oggetto di Excel.
Tutto questo in un ambiente intuitivo e low code.
L’interfaccia di Power Automate è pensata per essere impiegata dall’utente finale, senza dover richiedere il supporto di uno sviluppatore software. Si presenta in modo pulito, offrendo la possibilità di creare un flusso, testarlo, oppure esportarlo o importarlo da un altro tenant Microsoft365.
Utenti abituati all’ambiente Dynamics, Power BI o Power Apps si ritroveranno subito familiari con le opzioni loro offerte: Power Automate è infatti parte dell’ambiente Power Platform, si integra con le altre applicazioni dell’ambiente e ne riflette logiche e filosofia.
Come si costruisce un Flow
Entrando nella sezione dedicata alla costruzione di un Flow, Power Automate ci permette di costruire un flusso impostando e correlando le seguenti entità:
- Un evento scatenante
- Uno o più oggetti software interessati
- Variabili dinamiche per regolare la logica del flusso
- Condizioni e cicli
- Entità dinamiche gestite con Low Code
- Oggetti JSON
Il flusso dipende innanzitutto da un evento che lo inneschi. Questo evento può essere una schedulazione, cioè un intervallo temporale a cui il flusso si deve ripetere in modo costante, oppure un evento che avviene con determinate caratteristiche, come ad esempio la ricezione di una e-mail in Outlook contenente un allegato con un nome specifico.
Power Automate è estremamente flessibile, e ci permette di interagire con tutti gli oggetti software presenti nell’ambiente Microsoft365: da un documento Word a una lista Share Point a una cartella di One Drive.
L’interazione tra questi oggetti viene gestita per mezzo di variabili dinamiche, che possono essere valorizzate con proprietà dell’oggetto software, e condizioni e cicli come un vero e proprio linguaggio di programmazione.
Per esempio, potemmo dichiarare una variabile e valorizzarla con il nome di un allegato ricevuto in Outlook, e poi passare questa variabile a un ciclo di controllo in cui una condizione IF controlla se il nome contenuto nella variabile corrisponde a un criterio valido.
Tutto questo con una interfaccia totalmente grafica, senza scrivere una sola linea di codice, in perfetta aderenza alla filosofia Low Code dell’ambiente Power Platform.
Se le variabili recuperate dalle proprietà degli oggetti dovessero richiedere una ulteriore elaborazione, è possibile ricorrere a una libreria di funzioni dinamiche Low Code per applicare logiche avanzate a questi oggetti.
Per tornare al nostro esempio: supponiamo che il nome dell’allegato che abbiamo recuperato contenga degli spazi che vadano rimossi prima di passarlo al ciclo di controllo. Potremmo utilizzare una funzione di TRIM, sempre dall’interfaccia grafica, che ci permetterà di rimuovere gli spazi inutili presenti nella variabile, proprio come il suo equivalente esistente nei linguaggi di programmazione C# o Visual Basic .NET.
Power Automate, inoltre, permette anche di fare dialogare il nostro flusso con API (Application Programming Interface) di altri programmi per mezzo del passaggio di dati in formato JSON.
Tornando sempre al nostro esempio, ipotizziamo che il nome dell’allegato debba essere notificato a un servizio di firma digitale esterno. In questo caso, Power Automate ci permette di generare un formato JSON, anche partendo da un esempio già esistente, e ci offre una funzione per salvare le informazioni desiderate (in questo caso il nome del file) in questo formato.
E per il desktop?
Ultimamente Microsoft si è spinta anche oltre, pensando a una versione di Power Automate non limitata solo alle entità software dell’ambiente Microsoft365, ma capace anche di interagire con i normali eseguibili dei pc desktop basati su sistema operativo Windows.
Questa ambizione va incontro alle numerose richieste di poter integrare oggetti e flussi appartenenti a programmi aziendali come i software ERP con le logiche del cloud.
Ovviamente, nonostante alcune funzionalità siano già state messe in produzione, molte potenziali interazioni sono ancora in fase di sviluppo, essendo complesso intercettare eventi e flussi di alcuni software particolarmente datati, che non sono stati per interfacciarsi con API cloud.