Microsoft Teams a Microsoft 365
Stránku MS Teams pro administrátory najdete v hlavní navigaci; plugin nainstalujete a nastavíte v Nastavení → Pluginy. Bot odpovídá v osobních chatech, skupinových chatech i kanálech Teams a jeho nástroje umí přistupovat k Microsoft 365 za propojenou osobu. Nastavení kanálu a každodenní používání popisuje stránka Microsoft Teams.
Kde to najdete
Plugin nainstalujete a nastavíte v Nastavení → Pluginy. Stránka MS Teams je jen pro administrátory a najdete ji v hlavní navigaci. Její karta Lidé a přístup vypisuje známé lidi, jejich propojené účty Elowen a všechna pravidla přístupu. Balíček aplikace stáhnete v hlavičce pracovního prostředí. Ostatní nastavení bota zůstávají dostupná na kartě Nastavení pracovního prostředí i v detailu pluginu.
Plugin registruje chatovou platformu msteams a naučené chaty a kanály nabízí jako cíle naplánovaných oznámení. Ostatním pluginům také poskytuje ovládací prvek microsoftIdentity, ale jen tehdy, když je propojování účtů v osobním chatu nastavené a funguje. Ten umí ověřit, zda je účet Elowen propojený, a schválenému odběrateli předat Graph klienta omezeného na cesty v úložištích: osobní OneDrive a knihovny dokumentů SharePoint dané osoby.
Nástroje
Plugin nabízí 17 nástrojů ve čtyřech skupinách.
Zprávy v Teams: TeamsSend posílá zprávu do konverzace, kterou bot už zná; TeamsMessagePerson napíše osobě podle e-mailu, ID objektu Entra, ID účtu Teams nebo zobrazovaného jména. Když má daná osoba propojený účet Elowen, odpověď napíše její vlastní agent; jinak, nebo když agent neodpoví, bot otevře nebo využije existující osobní chat a text odešle sám. TeamsSendFile nabídne soubor v osobním chatu. Příjemce musí kartu přijmout, než se soubor nahraje do jeho OneDrivu. Zmínky lze zadat ID, e-mailem nebo přesným zobrazovaným jménem. Nejednoznačná jména bot neuhádne.
Adresář Teams: TeamsFindPerson, TeamsChatInfo, TeamsMembers, TeamsMemberInfo a TeamsListConversations čtou osoby a konverzace, na které bot dosáhne. Těchto pět nástrojů je bezpečných při plánování. Přečtení seznamu členů přidá jeho členy do adresáře známých lidí bota.
API Teams: TeamsApi zavolá Bot Connector API pro operaci, na kterou není samostatný nástroj.
Microsoft 365: Těchto osm nástrojů jedná za přihlášenou osobu v rámci jejích delegovaných oprávnění. Tokeny zůstávají ve službě Bot Framework Token Service.
MicrosoftDirectory: přihlášený uživatel, lidé, uživatelé Entra, organizační schéma a členství ve skupinách.MicrosoftSharePoint: weby, seznamy, položky seznamů a moderní stránky.MicrosoftFiles: soubory v OneDrivu a SharePointu včetně nahrávání, stahování, verzí a odkazů pro sdílení.MicrosoftOutlook: pošta, kalendář a kontakty včetně příloh, konceptů, odpovědí a reakcí na události.MicrosoftTasks: To Do a Planner.MicrosoftOneNote: poznámkové bloky, oddíly a stránky.MicrosoftExcel: listy, tabulky a oblasti v sešitech Microsoft 365.MicrosoftTeams: chaty a kanály za přihlášenou osobu.
Každé volání Microsoft 365 znovu zjistí aktuálně propojený účet. Relace Excelu patří dané identitě Microsoft a danému sešitu, po deseti minutách bez použití vyprší a při restartu démona se ztratí. Hranice produktu a delegovaných relací popisuje architektura pluginu.
Během plánování je bezpečných jen pět nástrojů adresáře Teams a MicrosoftDirectory. Ostatní nástroje pluginu se považují za měnící data.
Instalace a připojení
- Použijte Elowen core 0.30.7 nebo novější. Plugin vyžaduje sdílené plugin API verze 14 a web API verze 55.
- Nainstalujte ho v Nastavení → Pluginy → Dostupné pluginy. Při zapnutí plugin požádá o oprávnění, které přežije jednu odpověď – v tomto případě měnit uživatele. Deklarované čtení sdílených úložišť a souborů Projektu najdete v detailu pluginu. Zapnutí, vypnutí i uložení nastavení vyžádá restart démona, který může počkat na běžící tahy. Změny se nejdřív uloží; pokud restart nelze vyžádat, projeví se při příštím startu.
- Zaregistrujte aplikaci Entra pro jediného tenanta, vytvořte k ní Azure Bot pro jediného tenanta, přidejte kanál Teams a nastavte jeho koncový bod zpráv na
/hooks/msteams/messages. Stáhněte balíček aplikace v pracovním prostředí Microsoft Teams a nahrajte ho v centru pro správu Teams. Postup nastavení popisuje stránka Microsoft Teams. - V Nastavení → Přístupy → Microsoft Teams zadejte ID aplikace bota, tajný klíč klienta a ID tenantu. Dokud nejsou vyplněné všechny tři, bot se nepřipojí.
- Pokud chcete zapnout přihlašování v osobním chatu a nástroje Microsoft 365, vytvořte samostatnou registraci aplikace Entra a připojení OAuth v Azure Botu s poskytovatelem Entra ID v2 a delegovanými rozsahy Microsoft 365. Zadejte přesný název připojení a zapněte přihlašování v osobním chatu. Delegované rozsahy musí v Microsoftu odsouhlasit administrátor tenantu.
- Když je propojování účtů zapnuté, propojte identitu: člen tenantu se může přihlásit v osobním chatu, nebo administrátor propojí existující účet Elowen v Lidé a přístup. Propojení používá neměnné Entra object ID, ne jméno ani e-mail.
Přihlašování přes Microsoft do webového rozhraní Elowen je samostatná volba. Zapněte ji v nastavení pluginu a zaregistrujte její URI pro zpětné volání v aplikaci bota. Přesměrování a zakládání účtů popisuje stránka Microsoft Teams.
Účet vzniklý touto cestou se zakládá stejně jako účet, který administrátor přidá v Uživatelé: začíná s oprávněními instance pro nové účty a dědí výchozí nastavení účtů instance. Plugin sám volí jen jeho Projekt (Nový osobní projekt pro každý nový účet, nebo Výchozí projekty nových účtů); modely, oprávnění pluginů, oprávnění nástrojů a chování schvalování se nastavují jednou pro všechny nové účty v Uživatelé → Možnosti → Výchozí nastavení uživatelů.
Konfigurace
Nastavení pluginu najdete v detailu pluginu; ID aplikace, tajný klíč klienta a ID tenantu se zadávají v Nastavení → Přístupy, kam odkazuje detail pluginu i karta Nastavení pracovního prostředí. Tajný klíč klienta je jen pro zápis: uloží se zašifrovaný a rozhraní ukazuje jen to, zda je nastavený.
Připojení bota a přihlašování
| Nastavení | Klíč | Výchozí hodnota | Účel |
|---|---|---|---|
| Microsoft App ID | appId |
nenastaveno | Povinné ID klienta aplikace bota pro jediného tenanta. |
| Tajný klíč klienta | appPassword |
nenastaveno | Povinný tajný klíč pro ověřování vůči Bot Connectoru. |
| ID tenantu | tenantId |
nenastaveno | Povinné ID tenantu Entra. |
| Přihlášení k Microsoftu v osobním chatu | accountLinking |
false |
Umožní aktivním členům tenantu přihlásit se v osobním chatu a používat přístup svého propojeného účtu Elowen. |
| Název připojení OAuth | oauthConnectionName |
nenastaveno | Zobrazí se, když je přihlašování zapnuté; přesný název připojení OAuth v Azure Botu. |
| Povolit přihlášení přes Microsoft | ssoEnabled |
false |
Přidá přihlášení přes Microsoft na přihlašovací stránku Elowen. |
| Veřejná adresa Elowen | ssoRedirectBase |
prázdné | Základní URL s HTTPS a bez cesty. V aplikaci bota zaregistrujte <base>/api/auth/sso/microsoft/callback. |
| Zakládání účtů | ssoProvision |
off |
tenant (Celý tenant) dovolí kterémukoli aktivnímu členu tenantu založit si účet při prvním přihlášení. Členy od hostů rozlišuje claim acct v ID tokenu (aplikace bota → Konfigurace tokenu); bez něj je potřeba aplikační oprávnění Microsoft Graph User.Read.All se souhlasem administrátora tenantu. |
| Propojovat existující účty podle e-mailu | ssoLinkByEmail |
true |
Při prvním přihlášení může propojit jeden existující účet se stejným e-mailem. Pozdější párování identity používá Entra object ID. |
| Nový osobní projekt pro každý nový účet | ssoNewPersonalProject |
false |
Vytvoří jeden spravovaný osobní Projekt pro každý nový účet. Když je zapnuté, Výchozí projekty se nepoužijí. |
| Výchozí projekty nových účtů | ssoDefaultProjects |
nenastaveno | Aktivní Projekty přiřazené každému novému účtu, když je volba osobního Projektu vypnutá. Je potřeba alespoň jeden; jinak se založení účtu odmítne a žádný účet nevznikne. |
Přístup k Microsoft 365
| Nastavení | Klíč | Výchozí hodnota | Účel |
|---|---|---|---|
| Přístup k Microsoft 365 | m365AccessMode |
read_only |
Volba Pouze pro čtení blokuje změny v Microsoft 365. Volba Čtení a zápis každou změnu nejdřív zobrazí jako náhled, dokud agent tuto přesnou operaci nepotvrdí. |
| Limit přenosu souborů v Microsoft 365 | m365MaxTransferBytes |
20 MiB | Limit na jedno volání od 1 MiB do 250 MiB. Větší nahrávání použije obnovitelnou relaci nahrávání. Jde o pokročilé nastavení. |
Volba přístupu se zobrazí, když je zapnuté přihlašování v osobním chatu.
Aplikace v Teams a oznámení
| Nastavení | Klíč | Výchozí hodnota | Účel |
|---|---|---|---|
| Název aplikace v Teams | agentName |
Elowen | Název aplikace a bota v balíčku aplikace a v /help. Prázdná hodnota znamená Elowen. |
| Název vydavatele v Teams | productName |
název aplikace | Vydavatel uvedený v balíčku aplikace. Prázdná hodnota znamená název aplikace. |
| Ikona aplikace v Teams | appIconPath |
nenastaveno | Absolutní cesta na serveru k PNG 192 × 192. Prázdná hodnota použije jednoduchý barevný čtverec. |
| Konverzace pro oznámení | notifyConversationId |
nenastaveno | Naučený cíl v Teams pro naplánovaná oznámení; prázdná hodnota je vypne. |
| Vyhledávání přes Microsoft Graph | graphLookup |
false |
Umožní botovi najít neznámý e-mail v tenantu a nainstalovat svou aplikaci v Teams, aby otevřel osobní chat. Vyžaduje souhlas administrátora tenantu s User.ReadBasic.All a TeamsAppInstallation.ReadWriteSelfForUser.All. Profilové fotky navíc vyžadují ProfilePhoto.Read.All. |
| ID aplikace v katalogu Teams | graphCatalogAppId |
nenastaveno | Zobrazí se, když je vyhledávání přes Graph zapnuté; ID aplikace v katalogu Teams organizace. |
Odpovědi a konverzace
| Nastavení | Klíč | Výchozí hodnota | Účel |
|---|---|---|---|
| Odpovídat bez zmínky | respondWithoutMention |
true |
Ve skupinových chatech odpovídat každému namapovanému odesílateli, nebo jen na zmínku. V týmových kanálech se zprávy bez zmínky dostanou k botovi jen tehdy, když je zapnutá volba Číst všechny zprávy v kanálu a vlastník týmu přijal aktualizovanou aplikaci. |
| Aktivita nástrojů | toolActivity |
status |
Možnosti: off, status, live. Řídí zprávy o průběhu. |
| Doručení odpovědi | answerMode |
final |
final odpoví na konci tahu; live proudí odpověď, jak se píše. |
| Detail výstupu nástrojů | toolOutput |
summary |
Možnosti: hidden, summary, tail. |
| Rozložení zpráv nástrojů | toolMessageMode |
single |
Možnosti: single jedna upravovaná zpráva o průběhu, nebo per_tool zpráva pro každý nástroj. |
| Nahradit průběh finální odpovědí | deleteToolActivityAfterTurn |
false |
Použije zprávu o průběhu pro finální odpověď; přebíjí průběžnou odpověď i rozložení po nástrojích. |
| Reakce během zpracování | reactions |
true |
Ukazuje stav zpracování pomocí reakcí. |
| Patička s údaji o běhu | runtimeFooter |
true |
Přidá do finální odpovědi malý řádek s modelem a kontextem. |
| Zobrazit uvažování | showReasoning |
false |
Zahrne uvažování rozšířeného myšlení do zpráv o průběhu. |
| Jazyk služebních zpráv | language |
en |
Jazyk služebních zpráv bota; agent odpovídá jazykem uživatele. |
| Načtení historie konverzace | historyLimit |
0 |
Kolik posledních zpráv se načte do nové konverzace, od 0 do 100. |
| Číst všechny zprávy v kanálu | channelMessagesRsc |
false |
Přidá do balíčku aplikace oprávnění, aby bot viděl všechny zprávy v týmu poté, co vlastník odsouhlasí aktualizovaný balíček. |
| Model pro obrázky | visionModel |
nenastaveno | Model pro zprávy s obrázky; prázdná hodnota použije běžný model chatu. |
Správa pravidel přístupu
Pravidlo přidáte, upravíte, přeuspořádáte nebo smažete v Lidé a přístup, ještě než bot někoho zná. Vyberte osobu a upravte pravidlo pro její Entra object ID, ID účtu Teams nebo UPN. Pokud má několik identifikátorů vlastní pravidla, vyberte ten, které chcete upravit; úprava ani smazání jednoho ostatní neodstraní.
Celý seznam přijímá i celá ID konverzací a jediné záložní pravidlo *. První odpovídající
pravidlo rozhoduje o přístupu, doplňujících pokynech a správě místností Teams. Při aktivaci
runtime identifikátory ořízne, z duplicit ponechá první a * přesune na konec. Pravidla konverzací
platí jen pro odpovídající konverzaci, takže pohled osoby nedokáže určit přístup v každém sdíleném chatu.
Projekty a oprávnění nástrojů propojeného účtu mají nadále přednost.
Úprava pravidla otevře formulář. Uložit pravidlo odešle celé pravidlo; pouhé psaní neuloží částečný identifikátor. Smazání vyžaduje potvrzení a odstraní jen vybrané pravidlo. Danou osobu mohou nadále pustit jiné identifikátory, pravidla konverzací nebo záložní pravidlo. Zapnuté přihlašování k Microsoftu v osobním chatu zůstává dostupné a smazání pravidla neodpojí účet Elowen.
Když uložení selže, formulář nebo potvrzení smazání zůstane otevřené. Konflikt revizí vyřešte podle společné zpětné vazby k ukládání a pak aktuální pravidlo otevřete znovu. Hlášení o čekající aktivaci znamená, že změna je uložená, ale stále čeká na vyžádaný restart démona.
Limity médií a pravidla přístupu
| Nastavení | Klíč | Výchozí hodnota | Účel |
|---|---|---|---|
| Max. velikost příchozího obrázku | maxImageBytes |
5 MiB | Limit přílohy s obrázkem, od 1 do 20 MiB. |
| Max. obrázků na zprávu | maxImages |
4 | Kolik obrázků se pošle modelu pro obrázky, od 1 do 10. |
| Max. obrázků na odpověď | maxUploadImages |
4 | Vygenerované obrázky připojené k jedné odpovědi, od 1 do 10. |
| Pravidla přístupu podle role | rolePolicies |
nenastaveno | Odesílatele pustí první odpovídající pravidlo: Entra object ID, UPN/e-mail, ID konverzace, nebo poslední * pro všechny. Příznak admin zapíná příkazy pro správu místnosti a kontext důvěryhodné místnosti; přístup k Projektům a nástrojům nadále určuje propojený účet Elowen. |
Oprávnění a limity
Plugin není podmíněný přidělením pro jednotlivé uživatele. Odesílatele z Teams pustí odpovídající pravidlo role nebo propojený účet; nástroje Microsoft 365 vyžadují ověřený účet Elowen propojený s identitou Microsoft. Pracovní prostředí Teams a jeho API cesty jsou jen pro administrátory. Pokud je propojování účtů zapnuté bez názvu připojení OAuth, bot zůstane běžet pro diagnostiku, ale zprávy z osobních chatů lidí s propojeným účtem bezpečně selžou. Chybějící nebo špatně velká nastavená ikona způsobí, že stažení balíčku aplikace selže.
Chat bota používá Bot Connector a nepotřebuje oprávnění Microsoft Graph. Vyhledávání přes Graph vyžaduje výše uvedená aplikační oprávnění. Nástroje Microsoft 365 nemohou překročit delegované rozsahy přidělené přihlášené osobě. Ostatní pluginy, které používají microsoftIdentity, dostanou jen Graph klienta omezeného na úložiště, nikdy token ani přístup k poště, kalendáři či chatům.
- Delegovaná volání Graph vyprší po 15 sekundách; výstup nástroje je omezen na 20 000 znaků.
- Čtení Microsoft Graph za přihlášenou osobu se zkouší nejvýš třikrát, když je Graph omezuje, vrátí chybu serveru nebo spadne spojení, a tyto pokusy sdílejí jednu lhůtu 15 sekund. Zápisy a každé volání s vlastními aplikačními oprávněními bota se odešle jednou. Volání Bot Connectoru se opakuje jen po odpovědi o omezení, nikdy po neznámém výsledku.
- Hledání v SharePointu vrací nejvýš 1 000 výsledků.
- Mazání je vypnuté v nástrojích pro SharePoint, soubory, Outlook a úkoly. Ostatní změny vyžadují, aby agent potvrdil přesný náhled; režim jen pro čtení je blokuje všechny.
- Nabídky souborů fungují jen v osobních chatech 1:1, mají limit 20 MB a úspěch znamená, že nabídka byla doručena, ne přijata.
- Seznam členů ukáže nejvýš 50 členů, hledání osoby vrátí nejvýš 25 shod a přímá odpověď Bot Connectoru se zkrátí na 4 000 znaků.
- Adresář známých lidí zahrnuje osoby, které bot potkal v provozu Teams. Chybějící osoba přesto může v tenantu existovat.