Microsoft Teams
Plugin Microsoft Teams nastavíte v Nastavení → Pluginy → Microsoft Teams. Přes Azure Bot propojuje Elowen s osobními chaty, skupinovými chaty a týmovými kanály. Nejprve jej nainstalujte v Nastavení → Pluginy → Dostupné pluginy.
Pravidla pro identity a konverzace, která platí pro všechny kanály, popisuje část Kanály.
Co plugin nabízí
Bot umí Adaptive Cards, průběžné informace o práci nástrojů, obrázky, proaktivní zprávy z cron úloh i pravidelných kontrol a ke stažení nabízí balíček aplikace Teams. Napsat umí do konverzací i lidem, které už zná. Volitelné vyhledávání přes Microsoft Graph dokáže najít nového člověka podle e-mailu a otevřít s ním chat.
Nastavení bota
Potřebujete registraci aplikace Microsoft Entra pro jediný tenant a prostředek Azure Bot, který používá ID této aplikace.
- V centru pro správu Entra vytvořte registraci aplikace s volbou Účty pouze v tomto organizačním adresáři. Zkopírujte ID aplikace (klienta) a ID adresáře (tenantu) a pak vytvořte tajný klíč klienta.
- V portálu Azure vytvořte Azure Bot typu Single Tenant se stejným ID aplikace.
- Nastavte jeho koncový bod pro zprávy na
https://<domain>/hooks/msteams/messagesa povolte kanál Microsoft Teams. Veřejná reverzní proxy s HTTPS musí směrovat/hooks/na démona. - V Elowen otevřete Nastavení → Přístupy → Microsoft Teams a vyplňte pole Microsoft App ID, Tajný klíč klienta a ID tenantu.
- Otevřete stránku MS Teams, zvolte Stáhnout balíček aplikace, nahrajte soubor v centru pro správu Teams → Spravovat aplikace a pak aplikaci přidejte do chatu nebo týmu.
Plugin se připojí až po vyplnění všech tří přihlašovacích údajů bota. Běžný chat s botem jde přes Bot Connector a oprávnění Microsoft Graph nepotřebuje. Po změně nastavení balíčku, například Číst všechny zprávy v kanálu, Název aplikace v Teams, Název vydavatele v Teams nebo Ikona aplikace v Teams, stáhněte nový balíček.
Kdo smí bota používat
Pravidla přístupu spravujte na stránce MS Teams na kartě Lidé a přístup. Ve sdílených chatech rozhoduje první odpovídající pravidlo; odesílatel, kterému neodpovídá žádné, nedostane odpověď. Pravidlo může odpovídat ID objektu Entra, ID účtu Teams začínajícímu 29:, UPN nebo e-mailové adrese, například alex@contoso.com, celému ID konverzace, nebo * jako závěrečné pravidlo pro všechny. Pravidlo s * nechte nakonec.
Zapnutím volby Administrátor Teams u pravidla povolíte příkazy pro správu místnosti a důvěryhodný kontext místnosti. Neuděluje účet Elowen, přístup k projektům, oprávnění nástrojů, přístup k Microsoftu ani práva provozovatele instance. Ta vycházejí z účtu Elowen propojeného s odesílatelem a z jeho oprávnění.
Příjem zpráv z týmových kanálů
Teams obvykle posílá botovi zprávy z kanálů, které ho zmiňují. Chcete-li dostávat všechny zprávy v týmovém kanálu, kde je aplikace nainstalovaná:
- Zapněte Číst všechny zprávy v kanálu.
- Stáhněte a nahrajte aktualizovaný balíček aplikace.
- Požádejte vlastníka týmu, aby při instalaci nebo aktualizaci aplikace v každém týmu schválil oprávnění
ChannelMessage.Read.Group.
Toto oprávnění je oddělené od souhlasu administrátora tenantu s aplikačními oprávněními. I s ním ale platí, že když je Odpovídat bez zmínky vypnuté, zprávy, které bota neoslovují, se odfiltrují. Odpovídat bez zmínky je ve výchozím nastavení zapnuté.
Načtení historie konverzace je ve výchozím nastavení 0 a přijímá hodnoty 0–100. Uchovává průběžný přepis zpráv, které bot viděl. Se souhlasem pro týmový kanál může nová konverzace ve vlákně kanálu načíst celé vlákno i přes Microsoft Graph.
Propojení účtů Microsoft a práce s Microsoft 365
K dispozici jsou dvě samostatné možnosti přihlášení:
- Propojení účtu v osobním chatu používá připojení OAuth v Azure Botu a delegovaná oprávnění Microsoft 365. Vytvořte druhou aplikaci Entra pro jediný tenant, přidejte adresu pro přesměrování
https://token.botframework.com/.auth/web/redirect, udělte potřebná delegovaná oprávnění a v Azure Botu nastavte připojení s poskytovatelem Microsoft Entra ID v2. Pole Token Exchange URL ponechte prázdné. Přesný název připojení zadejte do pole Název připojení OAuth a zapněte Přihlášení k Microsoftu v osobním chatu. - Přihlášení na webu používá tok OIDC aplikace bota. Zapněte Povolit přihlášení přes Microsoft, do pole Veřejná adresa Elowen zadejte veřejnou adresu Elowen přes HTTPS a v aplikaci bota zaregistrujte tuto adresu s doplněnou cestou
/api/auth/sso/microsoft/callbackjako adresu pro přesměrování.
Propojení v osobním chatu a přihlášení na webu jsou dvě různé věci. Při zapnutém Přihlášení k Microsoftu v osobním chatu se aktivní člen tenantu může přihlásit z osobního chatu a používat přístup svého propojeného účtu. Propojovat existující účty podle e-mailu dokáže při prvním přihlášení na webu přiřadit právě jeden existující účet Elowen; po propojení je trvalou identitou ID objektu Entra. Administrátoři mohou v pracovním prostoru Teams použít Propojit účet Elowen a přiřadit známou identitu Teams jinému existujícímu účtu. Nejednoznačné nebo konfliktní propojení se odmítne.
Volbou Celý tenant v Zakládání účtů vytvoříte účty pro aktivní členy nastaveného tenantu. Členy od hostů Elowen rozliší podle volitelného claimu acct v ID tokenu; přidejte jej v Token configuration aplikace bota. Bez tohoto claimu se Elowen zeptá Microsoft Graphu, což vyžaduje aplikační oprávnění User.Read.All se souhlasem administrátora tenantu. Hosté, zakázané účty a identity mimo tenant se odmítnou. Výchozí projekty nových účtů a Nový osobní projekt pro každý nový účet platí jen pro nově založené účty; stávající účty se nemění.
Nástroje Microsoft 365 jednají delegovanou identitou a oprávněními propojeného účtu všude, kde se tento účet používá, včetně sdílených chatů a osobních naplánovaných úloh. Tokeny zůstávají ve službě Bot Framework Token Service, ne v Elowen. Přístup k Microsoft 365 je ve výchozím nastavení Pouze pro čtení. Čtení a zápis každou změnu nejprve zobrazí k náhledu, dokud ji agent výslovně nepotvrdí. Delegovaná aplikace potřebuje jen oprávnění pro nástroje, které používáte. Rozumná sada je:
openid profile email offline_access
User.Read User.Read.All People.Read
Files.ReadWrite.All Sites.ReadWrite.All
Mail.ReadWrite Mail.Send Mail.ReadWrite.Shared Mail.Send.Shared
Calendars.ReadWrite Calendars.ReadWrite.Shared
Contacts.ReadWrite Tasks.ReadWrite
Group.ReadWrite.All Notes.ReadWrite.All
Chat.ReadWrite ChatMessage.Send
Team.ReadBasic.All Channel.ReadBasic.All ChannelMessage.Read.All ChannelMessage.Send
offline_access ponechte, aby připojení přežilo vypršení tokenu. GroupMember.Read.All přidejte jen tehdy, když volání členství ve skupinách adresáře hlásí, že chybí. Adaptér Teams Chat.Read.All nevyžaduje.
Soubory a proaktivní zprávy
Nabídky souborů fungují jen v osobních chatech mezi dvěma lidmi, ne ve skupinových chatech ani v týmových kanálech. V poli Konverzace pro oznámení zvolte, kam mají chodit proaktivní zprávy z cron úloh a pravidelných kontrol. Přijímá známé ID konverzace nebo osobu určenou e-mailem, ID objektu Entra, ID účtu 29: nebo jednoznačným zobrazovaným jménem. Prázdné pole proaktivní zprávy vypne.
Volitelné Vyhledávání přes Microsoft Graph slouží pro lidi, které bot nikdy neviděl. Aplikace bota potřebuje souhlas administrátora tenantu s User.ReadBasic.All a TeamsAppInstallation.ReadWriteSelfForUser.All; ProfilePhoto.Read.All je volitelné. ID aplikace v katalogu Teams je ID nahrané aplikace Teams v centru pro správu Teams → Spravovat aplikace, ne ID aplikace bota. Prázdné je nechte jen tehdy, když aplikaci Teams uživatelům nasazuje zásada aplikací.
Příkazy
Teams zobrazuje ovládání modelu, uvažování, zobrazení a kontextu jako Adaptive Cards. Dostupné příkazy dodává běžící démon.
| Příkaz | Účel |
|---|---|
/model |
Volba modelu. |
/reasoning |
Volba úrovně uvažování. |
/display |
Nastavení aktivity nástrojů, doručení odpovědi, výstupu nástrojů a rozložení zpráv. |
/context |
Přesune jednu z konverzací odesílatele do tohoto chatu. |
/project |
Přepne konverzaci do jednoho z Projektů odesílatele. |
/plan, /build, /workflow |
Přepne režim práce konverzace; jen pro administrátory. |
/new |
Zahájí novou konverzaci. |
/stop, /stats, /compact |
Zastaví konverzaci, zobrazí její statistiky nebo ji zkrátí; jen pro administrátory. |
/fast |
Nastaví předvolbu Fast propojeného účtu: on, off nebo status. |
/restart |
Restartuje démona; jen pro administrátory. |
/help |
Zobrazí příkazy dostupné odesílateli. |
/model, /reasoning, /display, /context, /plan, /build a /workflow vyžadují pravidlo role administrátora. Také /stop, /stats, /compact a /restart jsou jen pro administrátory. Nástroje Microsoft 365 jsou dostupné přes propojení účtu a delegovaný přístup, ne jako příkazy chatu.