Miksi ihmeessä haluaisin tehdä työnkulkuja kännykällä?
Tämä oli ensimmäinen ajatukseni kun näin maininnan Flow:n mobiilisovelluksesta. Olin ajatellut että Flow:lla tehtävät työnkulut tyypillisesti käynnistyvät jostain ulkoisesta ärsykkeestä kuten tietynlaisesta sähköpostista, uudesta rivistä SharePoint listassa tai listan rivin arvon muuttumisesta. Yksi käyttöskenario oli mennyt minulta kokonaan ohi: käyttäjä käynnistää työnkulun manuaalisesti. Ja vieläpä mobiililaitteella.
Erinomainen esimerkki tästä on sairastuminen. Kun sairastun viikolla teen aina seuraavat:
- ilmoitan esimiehelleni
- merkitsen kalenteriini koko päivän tapahtuman ”Sairaana”
- ilmoitan kollegoilleni
- katson mitä palavereja päivän aikana on ja ilmoitan niiden järjestäjille
Tämä tapahtumaketju on helppo automatisoida Flow:lla, jolloin kännykän Flow Appsiin saadaan painike ”Sairaana tänään”, josta käynnistyvä työnkulku tekee yllämainitut toimenpiteet. Idea on poimittu Microsoft Flow blogista, mutta olen jalostanut sitä hieman.
Esimerkki – Automatisoidut aamutoimet sairaspäivänä
Aloitetaan tyhjästä työnkulusta ja lisätään ensimmäiseksi tapahtumaksi ”käynnistä työnkulku manuaalisesti”
Lisätään perään Get my profile -tapahtuma (kaikkia tapahtumia ei ole näköjään vielä käännetty), joka tuo käyttöömme työnkulun käynnistäjän tiedot. Käytetään niitä sähköpostissa jolloin saadaan oikean henkilön nimi allekirjoitukseen.
Päivän palaverien järjestäjille ilmoittaminen
Lisätään jonon jatkoksi Hae tapahtumat -toiminto.
Hae tapahtumat -toiminnon ominaisuuksista valitaan käytettävän kalenterin tunnus. Käyttäjätunnuksella kun voi olla useita kalentereja O365:ssa.
Seuraavaksi käydään kaikki haetut tapahtumat läpi ja tutkitaan onko tapahtuma tänään. Lisätään ensin tapahtumien haun perään Käytä kaikkiin -toiminto.
Poimitaan mukaan edellisestä vaiheesta Value (käytännössä kalenterikohteiden luettelo) ja lisätään ehto.
Vaikein osuus työnkulussa oli löytää oikea formaatti ehtolauseelle jolla tutkitaan alkaako verrattava tapahtuma tänään. Vaihdetaan kehittyneeseen tilaan ja sijoitetaan tehty ehtolause sinne.
Aina ehdon toteutuessa lähetetään sähköpostia tapahtuman järjestäjälle.
”Tänään sairaana” -kalenterimerkinnän tekeminen
Tämän piti olla helpoin osuus, mutta eipä ollutkaan. Lisätään työnkulun jatkoksi Luo tapahtuma -toiminto. Annetaan tapahtumalle kuvaava otsikko ja asetetaan se alkamaan tästä hetkestä ja päättymään 8 tunnin päästä. Alku- ja loppuajassa käytetään Microsoftin omasta esimerkistä löytyviä koodeja, mutta ne eivät toimineetkaan. 8 tunnin tapahtuman sijaan se luo 30min (oletuskesto) tapahtuman. Edit: tähän löytyikin jo ratkaisu, päivitän kun ehdin.
Lähetetään sähköposti esimiehelle ja kollegoille
Oman esimiehen tiedot saa käyttöönsä kätevästi Get manager -toiminnolla (mikäli henkilöiden väliset suhteet on kuvattu azureAD:ssa). Myös kollegat löytää koodilla (katso malli). Haluan kuitenkin ilmoittaa sairastumisestani vain niille keitä se oikeasti koskee, joten lisään esimiehen lisäksi jakeluun henkilöitä manuaalisesti.
Lähetetään viesti projektin Teams -kanavaan
Teamsia varten ei ole vielä valmiita toimintoja, mutta kanaviin pääsee kirjoittamaan WebHookien avulla (kiitos Stefan Strangerille).
Valitaan haluttu kanava ja muokataan sen yhdistimiä (connectors):
Lisätään Incoming Webhook:
Annetaan nimeksi PowerApps ja luodaan. Lopuksi otetaan talteen sivun alareunasta luodun WebHookien uri-osoite.
Lisätään työnkulkuun toiminnoksi HTTP, valitaan menetelmäksi POST ja kopioidaan yllä luodun WebHookin osoite Uri-kenttään.
Testipostaus kanavaan näyttää tältä
Lopputulos
Valmis työnkulku näyttää tiivistettynä tältä:
Ja kaikki tämä taika tapahtuu kun painan kännykkäni Flow-sovelluksesta löytyvää Sairaana tänään -painiketta.
Tämä kirjoitus on osa laajempaa sarjaa jossa käyn läpi Office 365:n työkaluja. Mistä niissä on kyse ja miten niitä voisi hyödyntää.