Vorrei condividere una soluzione su uno scenario / sfida che ho vissuto personalmente in passato quando ero consulente.
I consulenti o chiunque lavori quotidianamente con i clienti può sapere che trascorriamo l’intera giornata con i nostri clienti per pianificare / lavorare insieme sui nostri progetti.
Riunioni dopo riunioni -ricorrenti tutti i giorni-, non abbiamo quasi mai il tempo di controllare le nostre e-mail. La maggior parte di noi perde anche i nuovi inviti alla riunione per il giorno successivo e non ha mai la possibilità di dire “Ho un conflitto nel mio calendario”.
Quindi, potremmo finire per avere riunioni in conflitto nel calendario e impossibilitate a partecipare a metà di esso. Suona familiare?
Cosa succede se creiamo un flusso in Power Automate usando connettori Microsoft Graph predefiniti per verificare la disponibilità del calendario, ogni volta che viene ricevuto un nuovo evento di calendario? Il nostro flusso può essere in grado di inviare automaticamente una risposta di accettazione/tentazione/rifiuto in base allo stato del calendario dell’utente? Sì, certo che può!
Power Automate dispone di centinaia di connettori pronti all’uso di Microsoft Graph per ricevere messaggi di posta elettronica, pubblicare messaggi in Teams, inviare un invito al calendario e molto altro. Tuttavia, non tutti i set di dati M365 sono disponibili in questa raccolta di connettori incorporati. Se si è interessati a utilizzare qualsiasi set di dati M365 nel progetto, l’esercitazione su Power Automate di Microsoft Graph mostra come creare un connettore personalizzato e utilizzarlo nel flusso di Power Automate.
Per questo esempio, abbiamo i connettori pronti all’uso per progettare lo scenario. Il processo sarà simile al flusso mostrato di seguito:
Costruiamo il nostro flusso in Power Automate
Vai su https://flow.microsoft.com e seleziona Crea nel menu a sinistra e scegli Flusso automatizzato.
Dai un nome al flusso e scegli il trigger di flusso come Quando viene creato un nuovo evento (V3). Seleziona Crea.
Nel flusso, aggiungere i seguenti connettori e compilare i campi come segue:
- Quando viene creato un nuovo evento (V3)
- *ID calendario: [Calendario]
- Ottieni evento (V3)
- *ID calendario: Calendario
- *ID articolo: [Id] (contenuto dinamico/Quando viene creato un nuovo evento (V3))
- Visualizzare il calendario degli eventi (V3)
- *ID calendario: Calendario
- *Ora di inizio: [Ora di inizio] (contenuto dinamico/evento Ottieni (V3))
- *Ora di fine: [Ora di fine] (contenuto dinamico/evento Ottieni (V3))
Filter array
*Da: [value] (Contenuto dinamico/Visualizzazione calendario degli eventi (V3))- *Scegliere un valore: [Id] (contenuto dinamico/visualizzazione calendario degli eventi (V3))
- *Filtro: non è uguale a
- *Scegli un valore: [Id] (Contenuto dinamico/Evento Get (V3))
- Condizione
*Scegli un valore: length(body(‘Filter_array’))
(Espressione) - *Condizione: è minore o uguale a
- *Scegli un valore: 0
- SE SÌ
- Rispondere a un invito a un evento (V2)
*ID evento: [Id] (contenuto dinamico/Evento Get (V3)) - *Risposta: Accetta
- *Commento: Non vedo l’ora di parlare con te presto!
- *Invia risposta: Sì
- Pubblicare un messaggio come bot Flow per un utente (anteprima)
- *Destinatario: { il tuo destinatario e-mail qui }
- *Messaggio: [Oggetto] (Contenuto dinamico/Ottieni evento (V3)) organizzato da [Organizzatore] (Contenuto dinamico/Ottieni evento (V3)) è accettato e aggiunto al calendario.
- *Titolo: Riunione accettata!
- SE NO
- Ottieni la visualizzazione calendario degli eventi (V3)
*ID calendario: Calendario - *Ora di inizio: [Ora di fine] (contenuto dinamico/evento Get (V3))
- *Ora di fine: addDays(body(‘Get_event_(V3)’)?[‘ end’],1)
(Espressione)
- Condizione
- *Scegliere un valore: length(body(‘Get_calendar_view_of_events_(V3)_2′)?[‘ valore»])
- (Espressione)
- *Condizione: è maggiore o uguale a
- *Scegli un valore: 5
- SE SÌ
- Rispondere a un invito a un evento (V2)
*ID evento: [Id] (contenuto dinamico/Evento Get (V3)) - *Risposta: Declino
- *Commento: Ciao, purtroppo c’è un conflitto nel mio calendario. Quindi, non sarò in grado di partecipare a questo incontro oggi. Possiamo incontrarci in qualsiasi altro giorno?
- *Invia risposta: Sì
- Pubblicare un messaggio come bot Flow per un utente (anteprima)
- *Destinatario: { il tuo destinatario e-mail qui }
- *Messaggio: [Oggetto] (Contenuto dinamico/Ottieni evento (V3)) organizzato da [Organizzatore] (Contenuto dinamico/Ottieni evento (V3)) viene rifiutato.
- *Titolo: Riunione rifiutata!
- SE NO
- Invia e-mail con opzioni
*A: Organizzatore (contenuto dinamico/Ottieni evento (V3)) - *Oggetto: Provvisorio: possiamo riprogrammare?
- *Opzioni utente: Sì, No
- Pubblicare un messaggio come bot Flow per un utente (anteprima)
- *Destinatario: { il tuo destinatario e-mail qui }
- *Messaggio: [Oggetto] (Contenuto dinamico/Ottieni evento (V3)) organizzato da [Organizzatore] (Contenuto dinamico/Ottieni evento (V3)) è in conflitto con altre riunioni. Ci siamo resi conto che hai alcune disponibilità nel tuo calendario e abbiamo chiesto a [Organizzatore] (Contenuto dinamico/Ottieni evento (V3)) di riprogrammare.
- *Titolo: Riprogrammazione richiesta!
Prova gli scenari!
Seleziona Salva e prova nella barra laterale destra e scegli Eseguirò l’azione di attivazione per testare il flusso.
Il flusso tiene traccia del calendario del seguente account: Mod Administrator (es:admin@M365x716122.onmicrosoft.com) L’utente che invia il calendario invita: Daniele Palo (es:aycabas@M365x716122.onmicrosoft.com)
Scenario 1: nessun conflitto
Daniele Palo invia un invito al calendario all’amministratore Mod. Se non vi sono conflitti nel calendario degli amministratori Mod, Daniele Palo riceverà una risposta accettata e il bot Flow notificherà all’amministratore Mod l’azione intrapresa.
Daniele palo riceve:
Mod Administrator riceve:
Scenario 2: conflitto, il calendario non è occupato per il giorno
Daniele Palo invia un invito al calendario all’amministratore Mod. Se c’è un conflitto nel calendario degli amministratori Mod ma ci sono meno di 5 eventi per il giorno, Daniele Palo riceverà una risposta provvisoria, richiedendo di riprogrammare la riunione. Il bot Flow notificherà all’amministratore Mod l’azione intrapresa.
Daniele Palo riceve:
Mod Administrator riceve:
Scenario 3: conflitto, il calendario è occupato per il giorno
Daniele Palo invia un invito al calendario all’amministratore Mod. Se c’è un conflitto nel calendario degli amministratori Mod e ci sono più di 5 eventi per il giorno, Daniele Palo riceverà una risposta di rifiuto. Il bot Flow notificherà all’amministratore Mod l’azione intrapresa.
Daniele Palo riceve:
Mod Administrator riceve: