Tutorial pro Microsoft Teams: nové funkce v PowerAutomate
Notifikace u příchozího emailu a vytvoření události ze zprávy v Teams
Znáte přísloví „Kovářova kobyla chodí bosa.“? Já spíše používám „Kácím strom, nemám čas brousit sekeru". Mé pracovní nástroje se díky povaze činnosti lehce liší, i když ne úplně.
Mezi mé nejdůležitější pracovní nástroje, alespoň pokud jde o komunikaci, patří Microsoft Outlook a Microsoft Teams. Obě aplikace se ale v poslední době začínají ve svých funkcích překrývat, a to ve prospěch Teams. Bohužel mi vadí, jakým způsobem jsem notifikován o příchozím emailu, kdy se mi už mezi několik dalších aplikací, na monitor jednoduše Outlook nevejde.
Další funkce, která by se mi líbila, by bylo přidat zprávu (z chatu nebo kanálu) do kalendáře a udělat si z ní událost. Po krátkém zamyšlení (ale dlouho jsem si na to stěžoval), jsem se podíval, co umí aplikace PowerAutomate v rámci Microsoft Teams a hle, nové funkce přidány.
Pojďme se tedy podívat, jak něco takového vyrobit, opravdu se nejedná o něco složitého a jistě byste to měli s tímto návodem zvládnout.
V obou případech se počítá s použitím PowerAutomate, Teams a Outlook 365 (webový klient)
Figure 1 - vytvoření události ze zprávy
Figure 2 - email v chatu od Bota
Vytvoření události ze zprávy v Teams
- Otevřeme si PowerAutomate z aplikačního menu Office 365. Já používám anglickou lokalizaci, je poté snadnější najít potřebné návody v příručkách na specializovaných fórech – jazyk lze přepnout v nastavení PowerAutomate – tento návod počítá s použitím anglických překladů.
Figure 3 - změna jazyka v PowerAutomate
-
V sekci “My flows” založíme nové “automated cloud flow” a jako spouštěcí akci vybereme soubor akcí Teams a akci “For a selected message”. V akci se objeví tlačítko “Create adaptive card” – Adaptivní karta, je okno, které se Vám zobrazí v Teams, když spustíte toto flow. Chceme do něj dostat několik důležitých informací jako Datum, čas a dobu trvání. Editor má jak grafické, tak i skriptovací rozhraní. My si otevřeme to skriptovací a nakopírujeme přiložený skript – a to otevřením akce “Card payload editor” ve spodní části obrazovky, poté vybereme vše pomocí klávesové zkratky Control+A a nakopírujeme obsah přiloženého skriptu (skrip naleznete na konci tohoto článku).
*
Figure 4 - vytvoření Flow a spouštěcí akce
- Nyní vytvoříme akci, která nám spojí datum a čas do jednoho řetězce, původně je totiž máme rozděleny na dvě proměnné. Vložíme tedy novou akci “Compose” tu přejmenujeme na “Date and time” (důležité pro další akce), do ní z nabídky dynamických proměnných vložíme proměnou “datum” poté velké písmeno “T” a proměnou “cas”.
Figure 5 - spojení data a času
-
Následující akce, bude převedení formátu proměnné text na číslo, respektive na integer. Pole s výběrem doby trvání události totiž flow vidí jako text, a aby s ním šlo pracovat, je nutné ho převést. Proto vložíme další akci “Initialize variable”. Do vložíme:
- Name: Choice
- Type: Integer
- Value: zde vložíme dynamický obsah, ale tentokrát nebudeme vybírat existující proměnou, ale přepneme na “Expression” resp. “Výraz” a vložíme do něj následující část: int(triggerBody()?['entity']?['cardOutputs']?['choice'])
Figure 6 - změna datového typu
-
Zbývá poslední akce, a to vytvoření události v kalendáři Outlook. Vybereme tedy nový krok “Create event” (momentálně je dostupná Verze 4 označená V4 – může se v čase měnit).
- Vyplníme: Calendar ID: Calendar (nebo kalendář, do kterého chcete, aby byla událost vložena)
- Start time: Outputs (jedná se o výsledek spojení data a času)
- End time: z dynamického obsahu vyberte proměnou “Choice”
- Time zone: UTC+1 resp zóna, ve které se nacházíte.
- Advanced options: Body: vložte “Message content”
Figure 7 - vytvoření události
Pokud je vše nastaveno dle tohoto návodu, po uložení (raději ukládejte postupně), by měla jít akce vidět v menu u každé zprávy v Teams (viz úvod článku). Teams už sám obsahuje funkci pro založení úkolu ze zprávy, ale toto flow vám nyní umožní vytvořit událost v kalendáři. Zde vytvořené flow lze různě modifikovat, třeba odstranit “dobu trvání” a nahradit je dalšími poli datum + čas. Mě ale vyhovovalo mít o jedno pole méně na úkor větší složitosti flow (převod datového typu z text na číslo).
Notifikace o přijatém emailu do Teams chatu
V rámci tohoto krátkého flow, se každá zpráva, která odpovídá podmínce, pošle do teams chatu (napíše vám speciální účet “bot”)
- Založíme nové flow a jako spouštěcí akci vybereme Outlook akci “When new email arrives”
- Vložíme nový krok – “Condition” nebo podmínku – tento krok není povinný, pouze omezuje zasílání mailů, které zasílají samy Teams – jako například pravidelné upozornění o zmínkách apod. Do podmínky vložíme u prvního pole vložíme “From” v nabídky vybereme “contains” do posledního pole vložíme text “teams” (bez uvozovek)
-
Do větve “If no” vložíme akci “Post message in a chat or channel”
- Post as: Flow bot
- Post in: Chat with Flow bot
- Recipient: váš email/účet
- Message: Body (z dynamického obsahu)
Figure 8 - celý proces vytvoření flow pro notifikace z outlooku
Skript:
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.2",
"body": [
{
"type": "TextBlock",
"text": "Vytvoření události ze zprávy",
"weight": "Bolder",
"size": "Medium"
},
{
"type": "TextBlock",
"text": "Název události",
"wrap": true
},
{
"type": "Input.Text",
"id": "nazev"
},
{
"type": "TextBlock",
"text": "Datum"
},
{
"type": "Input.Date",
"id": "Datum"
},
{
"type": "Input.Time",
"id": "Cas"
},
{
"choices": [
{
"title": "30 minut",
"value": "30"
},
{
"title": "1 hodina",
"value": "60"
},
{
"title": "2 hodiny",
"value": "90"
},
{
"title": "4 hodiny",
"value": "240"
}
],
"type": "Input.ChoiceSet",
"id": "choice",
"placeholder": "Trvání události"
}
],
"actions": [
{
"type": "Action.Submit",
"title": "Submit"
}
]
}
Sdílej v médiích