Eseguire manualmente un Flow da SharePoint grazie al Column Formatting
Background
In questo post, andremo a vedere come creare un’applicazione per un’attività commerciale combinando SharePoint (per le liste di back-end), PowerApps (per l’interfaccia front end) e Flow (per il workflow e la logica di business).
Non vedremo i singoli dettagli dell’applicazione ma ci concentreremo su alcuni aspetti specifici della soluzione creata.
Mettiamo infatti il caso in cui, uno dei requisiti dell’app, sia quello di poter etichettare un ordine come inviato, inserirvi un tracking # che avvisa automaticamente l’utente quando il suo ordine viene spedito e che aggiorni lo stato dell’ordine.
Configurazione
Tutti gli ordini sono archiviati in una lista SharePoint.
La lista ha i seguenti campi: Nr.Ordine, Ordinato da, Data Ordine, ecc come potete vedere nell’immagine seguente.
L’obiettivo è quello di avere un semplicissimo pulsante proprio su questa schermata che, chi gestisce l’ordine, può cliccare per inserire il tracking del pacco ed innescare automaticamente un Flow che notifica il destinatario sulla spedizione del suo ordine.
Costruire il Flow
Il primo step per far sì che tutto il processo funzioni, è creare un Flow.
Su Flow, creiamo un flusso da zero il cui innesco dev’essere: “SharePoint – For a Selected Item”.
A questo trigger, vogliamo aggiungere un Output chiamato “Tracking #” che è di tipo stringa.
Questo spingerà l’utente ad inserire un numero di ordine quando esegue il Flow.
Il Trigger “For Selected Item” non prende alcun metadata dai vostri oggetti SharePoint.
Abbiamo quindi bisogno di recuperare i metadata come “Ordinato da” e “Nr. Ordine” per poterli utilizzare nelle mail che dobbiamo inviare alla persona che ha effettuato l’ordine.
Quindi, per recuperare questi metadata, dobbiamo inserire la seguente azione: “SharePoint – Get Item”.
Ora che abbiamo i metadata, dobbiamo inserire un’azione di tipo “SharePoint – Update Item” in modo da poter etichettare lo stato dell’oggetto come spedito, aggiungervi la data e il nr del tracking.
L’ultimo passaggio consiste nell’inserire un’azione di tipo “Send Email”: in questo modo, verrà inviata una notifica all’utente ad informarlo sull’invio del suo ordine.
Eseguire il Flow da SharePoint
Ora che abbiamo costruito il nostro Flow, dobbiamo pensare a come eseguirlo nella nostra Order list.
Per farlo, possiamo sfruttare le funzionalità di SharePoint Column Formatting.
Quest’ultima è una nuova funzionalità per le Modern List di SharePoint che vi permette di inserire JSON per modificare l’aspetto delle vostre liste SharePoint. Una delle cose che potete fare è aggiungere un Hyperlink alla colonna che può eseguire un Flow.
Potete saperne di più sulla funzionalità SharePoint View e Column Formatting, a questo link: Use view formatting to customize SharePoint.
Nella lista ordini di SharePoint, abbiamo aggiunto un campo booleano chiamato “Shipped” (spedito). Applicheremo il nostro Column Formatting a questo campo per farlo diventare un hyperlink che innesca il Flow.
Per applicare la funzionalità di Column Formatting, cliccate sulla freccia vicina al campo Shipped precedentemente creato e selezionate la voce “Format this Column”.
Vi apparirà una sezione sulla destra con una casella di testo vuota dove incollare il JSON.
{ “$schema”: “https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json”, “elmType”: “span”, “style”: { “color”: “#0078d7” }, “children”: [ { “elmType”: “span”, “attributes”: { “iconName”: “Flow” } }, { “elmType”: “button”, “style”: { “border”: “none”, “background-color”: “transparent”, “color”: “#0078d7”, “cursor”: “pointer” }, “txtContent”: “Mark as Shipped”, “customRowAction”: { “action”: “executeFlow”, “actionParams”: “{\”id\”: \”3460209a-1b44-43bf-bd51-81e2dde89264\”}” } } ] } |
L’unica cosa che dovrete modificare se lo implementate in autonomia è la GUID, dalla sezione “actionsparams” alla GUID del vostro Flow ed il testo nella sezione “txtContent” se volete che mostri qualcos’altro.
Cliccate “Save” per applicare il formatting alla colonna Shipped.
Vedrete, a questo punto, che la colonna Shipped ha un hyperlink con il testo “Mark as Shipped” come indicato qui sotto:
Nel momento in cui un utente clicca l’hyperlink, si apre una finestra di dialogo sulla parte destra chiedendo un tracking #.
A questo punto, l’utente può cliccare “Run Flow”: questo comando, eseguirà il Flow ed invierà la mail.