---
title: "Microsoft Teams"
description: "Повежите Microsoft Teams бота да би ћаскања и канали покретали и настављали Beeuni сесије."
---

Microsoft Teams je kanal: pominjanje `@` u Teams ćaskanju ili kanalu započinje
[sesiju](/docs/sr/work/sessions), a agent odgovara upravo tamo uz prikaz napretka uživo.
Primenjuju se ista pravila za sesije, identitet i akreditive kao za
[Slack](/docs/sr/connect/slack); ova stranica obuhvata ono što je specifično za Teams.

Svaki projekat može da poveže Teams. Nema zastavice funkcije koju treba uključiti.

<a id="connect"></a>

## Povezivanje

Dva načina, oba sa stranice projekta **Connectors → Channels**:

- **Jedan klik (upravljano).** **Teams administrator zakupca** klikne na **Add to Teams**,
  prijavi se i da saglasnost. Beeuni automatski objavljuje aplikaciju u Teams katalogu vaše organizacije — nema šta da pravite ni da kopirate. Zatim se u redu prikazuje
  **Add to Teams** (duboka veza ka Teams klijentu) kako bi bilo ko mogao da doda
  bot u ćaskanje ili kanal. Kada Beeuni isporuči noviju verziju aplikacije,
  pogledajte [Ažuriranje aplikacije](#update-the-app).
- **Koristite sopstveni bot.** Kliknite na **Use your own Microsoft Teams app** da biste pokrenuli
  čarobnjak u tri koraka: registrujte Azure Bot, povežite ga sa Beeuni pomoću ID-a aplikacije,
  tajne klijenta i ID-a zakupca, a zatim preuzmite generisani paket aplikacije i
  otpremite ga u Teams. Koristite ovu opciju ako sami registrujete bot.

  Redosled je važan. Beeuni pravi manifest na osnovu ID-a vaše aplikacije, pa paket
  može da generiše tek nakon 2. koraka — čarobnjak vam prikazuje krajnju tačku za razmenu poruka
  koju treba da nalepite u Azure pre nego što zatraži bilo šta drugo.

CLI odražava kontrolnu tablu:

```bash
beeuni channels connect --platform teams      # prints the admin-consent URL
beeuni channels status --platform teams        # tenant, catalog, publish state, app version
beeuni channels disconnect --platform teams
```

<a id="update-the-app"></a>

## Ažuriranje aplikacije

Beeuni vremenom dodaje dozvole u svoju Teams aplikaciju. Verzija aplikacije 1.1.0 dodala je
`ChannelMessage.Read.Group`, koja je agentu potrebna za čitanje niti kanala.
Verzija 1.3.0 dodala je `ChatMessage.Read.Chat`, tako da odgovor u grupnom ćaskanju nastavlja
sesiju bez pominjanja. Tim koji još koristi verziju 1.0.0 odbija svako čitanje niti,
a obaveštenje o odbijanju koje agent dobija navodi ko to može da ispravi.

Aplikaciju ažuriraju dve osobe, ovim redosledom:

1. **Teams administrator objavljuje ažuriranje.** Kada katalog vaše organizacije sadrži stariju
   verziju, na stranici Channels prikazuje se **Update the Beeuni app in Teams**, a
   dugme u redu Teams glasi **Publish app update**. Administrator klikne na njega i
   prijavi se pomoću Microsoft naloga. `beeuni channels status --platform teams` ispisuje
   obe verzije, a `beeuni channels connect --platform teams` ispisuje vezu za
   prijavljivanje.
2. **Vlasnik tima ažurira aplikaciju u svakom timu u kom je Teams nudi.** U
   Teams otvorite tim, pa izaberite **⋯ → Manage team → Apps**, zatim kliknite na **Update** u
   Beeuni aplikaciji i prihvatite ažuriranje. Teams samostalno instalira ažuriranje, osim ako ono
   dodaje dozvolu ili radnju poruke; u tom slučaju ažuriranje mora da potvrdi vlasnik tima.

Beeuni beleži verziju aplikacije prilikom svake objave. Instalacija objavljena pre nego što je
Beeuni počeo da beleži verzije prikazuje obaveštenje do sledeće objave.

<a id="chats-channels-and-mentions"></a>

## Ćaskanja, kanali i pominjanja

- **Lično ćaskanje:** svaka poruka stiže do bota.
- **Kanal tima / grupno ćaskanje:** nova objava zahteva pominjanje `@`. Nakon toga,
  odgovor u razgovoru koji bot već prati nastavlja sesiju **bez** pominjanja,
  kao nit u Slack-u. Za to su potrebne dozvole aplikacije
  `ChannelMessage.Read.Group` (kanali) i `ChatMessage.Read.Chat` (grupna
  ćaskanja), na koje administrator zakupca daje saglasnost prilikom dodavanja aplikacije.
  Ako je aplikacija dodata pre nego što su ove dozvole zatražene, vlasnik tima je ažurira:
  pogledajte [Ažuriranje aplikacije](#update-the-app).

Svaki razgovor u ćaskanju ili kanalu predstavlja zasebnu sesiju. Prva poruka je kreira;
naredne poruke je nastavljaju, čak i nakon što se sandbox zaustavi i ponovo pokrene. Zakupac
povezan sa više projekata prikazuje **izbor projekta** uz prvu poruku kojoj još nije dodeljen projekat
i pamti izbor. U kanalu se izbor prikazuje samo za poruku u kojoj se pominje bot, a komanda o projektu, poput
`/models`, prvo pita koji projekat želite.

U kanalu svaka nova objava započinje sopstvenu sesiju. Lično ili grupno ćaskanje
predstavlja jedan razgovor tokom celog svog trajanja, pa zadržava istu sesiju dok ne pošaljete
`/new`. Dodajte poruku posle nje (`/new summarize today's deploys`) da biste započeli novu
sesiju tom porukom. Prethodna sesija ostaje u Beeuni, sa celom istorijom, a potvrda vodi do nje.

<a id="conversation-names"></a>

## Nazivi razgovora

Teams šalje ID-jeve, kao što je `19:…@thread.tacv2;messageid=…`. Stranica Channels i
`beeuni channels bindings` prikazuju nazive koje ljudi vide u Teams-u:

| Razgovor | Naziv | Ispod naziva |
|---|---|---|
| Objava u kanalu | `Team › Channel` | Naslov sesije, po kom se razlikuju dve objave u istom kanalu |
| Grupno ćaskanje | Naslov ćaskanja | Grupno ćaskanje |
| Lično ćaskanje | Osoba | Lično ćaskanje |

Poruka u kanalu sadrži ID tima, ali ne i njegov naziv, pa Beeuni preuzima i čuva nazive tima i kanala iz Teams-a. Objava u kanalu General nekog tima dobija naziv sledeći put kada je stranica Channels prikaže. Objava u drugom kanalu dobija naziv kada stigne sledeća poruka. Do tada je označena kao **Nit kanala**.

<a id="who-may-join-a-session"></a>

## Ko može da se pridruži sesiji

Svaki razgovor ima pravilo pridruživanja, koje se podešava pomoću `/policy` u Teams-u ili na stranici
Channels, gde stavka **N channels** u redu Teams prikazuje sve razgovore:

- **open** (podrazumevano) — svaki član povezanog projekta može da se pridruži sesiji započetoj ovde.
- **approval** — vlasnik sesije dobija karticu Approve / Deny za svaku novu osobu.
- **owner** — samo osoba koja je započela sesiju.

Uz pravila **approval** i **owner**, sesija nije vidljiva celom
projektu ni u Beeuni: vidljiva je samo vlasniku, osobama kojima je odobren pristup i
administratorima naloga koji nadgledaju sesije. Odluka na kartici za pregled ili odobrenje
nastavlja rad agenta bez obzira na pravilo.

<a id="identity-linking"></a>

## Povezivanje identiteta

Pošiljalac jednom povezuje svoj Beeuni nalog pomoću `/login`; agent zatim radi
kao ta osoba, koristeći njene akreditive, tajne i povezane aplikacije. Nepovezani pošiljalac ili osoba
bez pristupa projektu dobija karticu za povezivanje ili zahtev za pristup, umesto sesije.

Veza za prijavljivanje prikazuje se samo na mestima koja možete da vidite samo vi: u vašem ličnom
ćaskanju sa botom ili, u kanalu ili grupnom ćaskanju, u odgovoru označenom sa **Only you
can see this message**. Veza povezuje osobu za koju je napravljena sa osobom koja je otvori, pa se nikada ne prikazuje tamo gde je drugi mogu videti. Ako Teams odbije taj privatni odgovor,
bot šalje vezu u vaše privatno ćaskanje s njim i to saopštava u razgovoru. Teams to dozvoljava samo
ako ste sami dodali aplikaciju; u suprotnom kartica traži da otvorite privatno ćaskanje s botom
i tamo pošaljete `/login`. Poruka koju ste poslali u kanalu dok još niste bili povezani pokreće se
nakon povezivanja, ako to uradite u roku od 10 minuta. Kada završite povezivanje u
pregledaču, bot u privatnom ćaskanju potvrđuje sa kojim Beeuni nalogom ste povezani.

Veza za prijavljivanje može da se upotrebi jednom i ističe nakon 10 minuta. Teams nalog povezan
sa jednim Beeuni nalogom ne može da se poveže sa drugim: prvo pošaljite `/logout`.
Ako vaša organizacija zahteva dvofaktorsku potvrdu identiteta, Beeuni traži drugi faktor pre nego
što vas poveže, a ćaskanje koristi faktor kojim ste se povezali. Veza napravljena bez njega tražiće da se ponovo povežete.

Kada pristup zatraži neko ko ga nema, svaki vlasnik naloga i administrator dobija
zahtev u Beeuni-ju. Oni koji su povezali Teams dobijaju ga i u privatnom ćaskanju
sa botom, uz dugme **Review in Beeuni**.

<a id="private-replies"></a>

## Privatni odgovori

U kanalu ili grupnom ćaskanju, ono što bot kaže jednoj osobi vidljivo je samo toj
osobi i označeno je kao **Only you can see this message**, baš kao Slack-ove
privremene poruke:

- odgovori na vaše komande;
- kartica za povezivanje naloga ili zahtev za pristup;
- razlog zbog kog vaša poruka nije izvršena: pravila pridruživanja ili agent koji ne smete da koristite;
- pod **approval**, kartica za odobravanje/odbijanje vlasnika i odluka koja se prikazuje osobi koja je podnela zahtev.

Kartica **Working on it…** koju svi vide prikazuje se samo kada vaša poruka
može da se izvrši. Teams briše privatni odgovor nakon 24 sata. Ako Teams odbije
privatni odgovor, bot umesto toga objavljuje karticu u celom razgovoru. Izuzetak
je veza za prijavljivanje: tada se šalje u vaše privatno ćaskanje sa botom,
nikada u razgovor.

<a id="roles-and-permissions"></a>

## Uloge i dozvole

Ćaskanje nema sopstvene Beeuni akreditive, pa se svaka radnja izvršava kao
povezani Beeuni nalog osobe koja ju je preduzela, uz ulogu tog naloga u projektu.
Vlasnici naloga i administratori smatraju se menadžerima projekta.

| Radnja | Ko može da je izvrši |
| --- | --- |
| Pošalje poruku na koju agent odgovara | Povezani nalog koji ima pristup projektu, u skladu sa pravilima pridruživanja razgovora |
| Zaustavi izvršavanje | Osoba čija se poruka obrađuje ili bilo ko kome je odobren pristup toj sesiji, a ko i dalje može da koristi projekat |
| `/new` u grupnom ćaskanju | Povezani član projekta; prema pravilima `approval` ili `owner`, osoba kojoj je odobren pristup tekućoj sesiji |
| Promeni projekat, agenta, model ili pravila | Menadžer projekta; u privatnom ćaskanju sa botom, bilo koji član projekta |
| Odobri ili odbije proveru | Menadžer projekta |
| Odobri ili odbije poziv konektora | Menadžer projekta ili osoba koja je pokrenula sesiju |
| Odobri nekome pristup sesiji `approval` | Vlasnik sesije |
| Zatraži pristup | Bilo ко ко је povezan; svaki vlasnik naloga i administrator dobija jedno obaveštenje |

Osoba koja nema dozvolu za agenta ne može da pokrene sesiju s njim iz Teams-a,
kao ni u Beeuni-ju.

<a id="commands"></a>

## Komande

Unesite ih u ćaskanju sa botom (u kanalu ga prvo označite pomoću `@`):

| Komanda | Šta radi |
| --- | --- |
| `/help` | Prikazuje listu komandi |
| `/login`, `/logout`, `/whoami` | Povezuje, prekida vezu ili prikazuje vaš Beeuni nalog |
| `/status` | Efektivni projekat, agent i model ovde, kao i izvršavanje koje je u toku |
| `/stop` | Zaustavlja izvršavanje koje je ovde u toku |
| `/new [message]` | Pokreće novu sesiju u ovom ćаскању (privatnom ili grupnom) |
| `/models`, `/model <ref>` | Bira model za ovaj razgovor — pogledajte [Модели и кључеви](#models-and-keys) |
| `/agents`, `/agent <name>` | Bira agenta za ovaj razgovor |
| `/projects`, `/use <name>` | Prikazuje povezane projekte ili prebacuje ovaj razgovor na drugi projekat (ne može na botu koji pripada projektu) |
| `/policy [open\|approval\|owner]` | Ko može da se pridruži sesijama pokrenutim ovde |
| `/unbind` | Prekida vezu ovog razgovora sa projektom; sledeća poruka ponovo bira projekat |
| `/home` | Projekti organizacije i predlozi šta da probate |

Na bilo kojoj poruci, **⋯ → Open in Beeuni** otvara sesiju kojoj taj razgovor
pripada. Kada dodate aplikaciju za sebe, vaše privatno ćaskanje sa botom
počinje istim pregledom kao `/home`.

<a id="models-and-keys"></a>

## Modeli i ključevi

`/models` prikazuje svaki model koji ovde možete da pokrenete, baš kao birač
modela na vebu: Beeuni modele i modele dostupne preko API ključa dobavljača
ili ChatGPT pretplate. Za svaki model piše kako se plaća. Dugačak spisak
prikazuje se kao padajući meni sa pretragom. Izaberite model ili unesite
`/model <id>`; `/model default` vraća podrazumevani model projekta.

Koji se ključevi uzimaju u obzir zavisi od ćаскања:

- **Privatno ćaskanje sa botom** — vaši ključevi i ChatGPT pretplata, kao i
  ključevi deljeni sa projektom. Sesije su vidljive samo vama.
- **Grupno ćaskanje ili kanal** — samo ključevi deljeni sa celim projektom.
  Ćaskanje je zajedničko, a lični ključ bi svima omogućio da troše pretplatu
  jedne osobe. Takav model izaberite u privatnom ćaskanju.

Model koji radi pomoću ključeva koristi sve ključeve koje smete da koristite
za njegovog dobavljača, a oni se smenjuju kada se dostignu ograničenja brzine.
Izbor važi za sledeću poruku; ćaskanje zadržava svoju sesiju. Za promenu modela
sesije koja je u toku potreban je povezani nalog, a prema pravilima `owner`
или `approval` to može da uradi samo vlasnik sesije. Privatno ćaskanje čija je
sesija počela pre nego što su sesije u njemu postale privatne i dalje deli tu
sesiju sa projektom: `/model` to objašnjava, a `/new` pokreće privatnu
sesiju. Pogledajte [Кључеви добављача и приступ чланова](/docs/sr/project/models#provider-keys-and-member-access).

<a id="while-the-agent-works"></a>

## Dok agent radi

Agent odgovara u jednoj kartici: prvo prikazuje korake dok radi, a zatim odgovor.
Dugačak odgovor se skraćuje na kraju reda, označava kao skraćen i sadrži vezu
ka celoj sesiji u Beeuni-ju. Sledeća poruka čeka da se završi trenutno izvršavanje,
a zatim dobija zasebnu karticu. Korak bez odgovora ne završava izvršavanje; ono
se završava tek kada to označi okruženje za izvršavanje.

<a id="stopping-a-run"></a>

## Zaustavljanje izvršavanja

Dok agent radi, njegova kartica uživo sadrži dugme **Stop**. `/stop` radi
isto nakon što kartica sklizne van vidnog polja. Obe radnje zaustavljaju izvršavanje
u okruženju za izvršavanje, a ne samo na kartici — ako se izvršavanje ostavi
otvorenim, sledeća poruka u razgovoru se preuzima umesto da se na nju odgovori.

Izvršavanje može da zaustavi osoba čija се poruka obrađuje, kao i svako kome je
odobren pristup toj sesiji, dokle god može da koristi projekat. Posmatrač u
kanalu ne može to da uradi, niti to može neko kome je odobren pristup ranijoj
sesiji u tom ćаскању.

<a id="files"></a>

## Datoteke

Agent šalje datoteke pomoću `teams send --file`. Slike se prikazuju unutar privatnih,
grupnih ćаскања i kanala. Ako je slika prevelika, u privatnom ćаскању prikazuje
se kartica za davanje saglasnosti za OneDrive, a u kanalu se koristi skladište
datoteka tima; grupno ćaskanje ne može da primi preveliku datoteku. Ostale
datoteke stižu kao kartica za davanje saglasnosti u privatnom ćаскању ili kao
SharePoint veza kada se dele sa timom. Dolazne datoteke i nalepljene slike,
uključujući slike ugrađene u telo poruke kanala, agent može da preuzme i obradi.

- Slika nalepljena u kanal ili grupno ćaskanje preuzima se samo ako agent sme da
  čita tu nit ili ćaskanje, prema pravilima u
  [Читање канала](#reading-a-channel). U suprotnom `teams download` odgovara
  `403`.
- Preuzimanje se zaustavlja na 50 MB i odgovara `413`.
- `teams history` и `teams thread` prikazuju umetnute slike objave (`images`,
  pri čemu je svaka URL adresa za `teams download`) i nazive datoteka deljenih sa
  SharePoint-a (`files`). Agent ne može da preuzme SharePoint datoteku.

Nalepite snimak ekrana i pitajte nešto o njemu: taj upit će se obraditi modelom
koji može da čita slike, čak i kada je model samog razgovora samo tekstualni —
izbor modela sesije ostaje nepromenjen. Ako sesija više ne može da pokrene neki
model — zbog opozvanog ključa ili ChatGPT pretplate koju ćaskanje ne može da
koristi — taj model se za tu poruku zamenjuje na isti način, umesto da obrada ne uspe.

<a id="questions-and-forms"></a>

## Pitanja i obrasci

Агент пита помоћу контрола, а не прозе. Једно питање са највише шест опција
приказује једно дугме за сваку опцију. Више питања, питање са више могућих
одговора или дужи списак приказују образац са пољем за сопствени одговор.
За датуме, времена, бројеве и изборе укључено/искључено користе се одговарајућа
поља. Ваш одговор стиже агенту као следећа порука, означена питањем на које
одговара. Увек можете и да укуцате одговор.

<a id="approvals"></a>

## Одобравања

Када је агенту потребна одлука човека пре него што настави — за ризичан корак
или промену коју жели да добије на одобрење — отвара ставку за преглед. Ако је
сесија покренута из овог разговора, одлука стиже овде као картица: наслов,
сажетак, ниво ризика и опције **Одобри**, **Затражи измене** и **Одбиј**, као и
веза ка Beeuni-ју.

Картица садржи и опционално поље за повратне информације. Шта год да унесете,
чува се уз одлуку и шаље агенту заједно са њом, тако да опција „Затражи измене“
не захтева још један круг комуникације да бисте објаснили шта сте мислили. Поље
је намерно опционално — за обично одобравање не би требало да морате ништа да
уносите.

Картицу виде сви у разговору, али да бисте поступили по њој, потребан вам је
повезан Beeuni налог са приступом пројекту.

<a id="posting-on-its-own"></a>

## Самостално објављивање

Осим одговарања тамо где му је постављено питање, агент може да објављује у
било ком ћаскању или каналу у којем је бот већ присутан за овај пројекат — на
пример, ноћни сажетак, упозорење или предају посла. Не може да приступи разговору
у који никада није додат.

<a id="when-a-session-will-not-start"></a>

## Када сесија не може да се покрене

Beeuni објашњава шта није у реду уместо да тражи да покушате поново, јер се већина
проблема при покретању не решава поновним покушајем: предлошка окружења за
извршавање која више не постоји, неповезан налог, пројекат коме не можете да
приступите или радни простор без кредита. За сваки проблем наводи решење и
команду којом се оно примењује.

Ако је агент додељен разговору обрисан или преименован, уместо тога ће се
приказати изборник: изаберите активног агента, па поново пошаљите поруку. На
списку су само агенти којима имате приступ.

<a id="reading-a-channel"></a>

## Читање канала

У каналу бот прима само поруке у којима је поменут, па расправа о којој је питан
није део његове сесије. Када му је потребан тај контекст, агент чита нит у којој
је поменут или недавне објаве у каналу, користећи дозволу `ChannelMessage.Read.Group` коју апликација
тражи када се дода у тим. Тим који је додао апликацију пре него што је та дозвола
затражена мора да је ажурира: погледајте [Ажурирање апликације](#update-the-app). У личном
ћаскању свака порука већ стиже у сесију, тако да нема старијих порука које треба
прочитати.

Сваки пројекат повезан са истим закупцем услуге Microsoft 365 користи исту
апликацију, па Beeuni ограничава свако читање на разговоре самог пројекта. У
каналу је свака нова објава засебан разговор:

| Читање | Дозвољено када |
| --- | --- |
| Нит (`teams thread`) | Нит је разговор овог пројекта или не припада ниједном пројекту, а канал је доступан за читање |
| Недавне објаве у каналу (`teams history`) | Овај пројекат има разговор у каналу. Објаве које започињу разговор другог пројекта се изостављају |
| Канал у ком ниједан пројекат нема разговор | Ниједан други пројекат није повезан са закупцем |

Одбијено читање одговара на `403` са разлогом `conversation_not_in_project` и поруком у којој
се наводи канал или нит. Да бисте читали канал прве врсте у закупцу са више
пројеката, помените бота у њему и изаберите овај пројекат.

`get_channel` и `list_channels` дају одговоре за стандардне канале. Приватни или дељени
канал се приказује само ако агент има право да га чита према горенаведеним
правилима. `get_team`, `list_members`, `get_user` и `list_teams` читају директоријум
закупца и нису ограничени.

<a id="limits"></a>

## Ограничења

Teams ботови не могу да додају реакције на поруке нити да претражују поруке — те
могућности доступне у Slack-у немају еквивалент у Teams-у. Агент може да чита
канал само у тиму у који је апликација додата и само према правилима наведеним у
одељку [Читање канала](#reading-a-channel).
