M42 Assist app for Microsoft Teams: tekninen dokumentaatio
M42 Assist app for Microsoft Teams: tekninen dokumentaatio
Johdanto
M42 Assist on natiivi Microsoft Teams -sovellus, joka integroi organisaatiosi viestintäympäristön Matrix42-alustaan. Se mahdollistaa käyttäjille seuraavat toiminnot:
- Vuorovaikutus tekoälyavustimen kanssa organisaation tietoon perustuen
- ITSM-/Help Desk -tikettien luonti ja hallinta
- Reaaliaikaisten tikettien ilmoitusten vastaanotto
- Lomakkeiden täyttö ja tiedostojen lataus
- Vuorovaikutus tukiagenttien kanssa Live Chatin avulla
Sovellus toimii kokonaan Microsoft Teamsin sisällä ilman tarvetta avata ulkoisia järjestelmiä.
M42 Assistin dokumentaatiokokonaisuus
Tämä artikkeli on osa viisiosaista kokonaisuutta, joka kattaa M42 Assistin Microsoft Teamsille:
- Ratkaisukuvaus – mitä sovellus tekee ja miksi (liiketoimintatason yleiskatsaus)
- Tekninen dokumentaatio (tämä artikkeli) – arkkitehtuuri, tietoturva ja tietojenkäsittely
- Konfigurointi – vaiheittainen CAI/ESM-käyttöönotto
- Käyttöönotto-opas – toimitustyönkulku ja roolit (Sales → PS → AI Core)
- Sisäinen pikaopas – tiivistetty käyttöönoton tarkistuslista PS-konsulteille
Arkkitehtuuri ja tietoturva
Yleiskuva arkkitehtuurista
Botti toimii monikerroksisessa arkkitehtuurissa:
Kerros 1 – Microsoft Teams (asiakassovelluksen käyttöliittymä)
Käyttäjä lähettää viestin botille Microsoft Teamsin sisällä.
Kerros 2 – Microsoft Bot Framework (siirto ja reititys)
Microsoft automaattisesti:
- Vastaanottaa viestin.
- Allekirjoittaa sen Teams-todennustunnuksella.
- Välittää sen Matrix42-bottibackendille.
Tämän kerroksen isännöi ja ylläpitää kokonaan Microsoft.
Kerros 3 – Matrix42-bottibackend
Backend (Node.js/TypeScript) huolehtii:
- Viestien käsittelystä.
- Käyttäjäistuntojen hallinnasta Azure CosmosDB:ssä.
- Käyttäjäidentiteetin yhdistämisestä (Teams-käyttäjä → Matrix42-käyttäjä).
- Integraatiosta Matrix42 Chat API:hin.
- Viestien lähettämisestä takaisin Teamsiin.
Kerros 4 – Matrix42 Chat API
Matrix42 tarjoaa:
- Tekoälypohjaisen tietokannan (RAG).
- IT-tikettijärjestelmän.
- Live Chat -viestinnän ihmisagenttien kanssa.
Tikettien ilmoitusjärjestelmä
Botti voi lähettää ennakoivia ilmoituksia kolmenlaisille vastaanottajille:
- Asiakas (tiketin ilmoittaja)
- Tunnistetaan sähköpostiosoitteen perusteella Matrix42:ssa.
- Vastaanottaa tilamuutokset, agenttien kommentit jne.
- Vastuuhenkilö (vastuullinen agentti)
- Tunnistetaan vastuuagentin sähköpostiosoitteen perusteella.
- Vastaanottaa uudet vastuutukset ja päivitykset.
- Tukiryhmä (Teams-kanava)
- Ilmoitukset lähetetään suoraan Teams-kanavaan.
- Koko tukitiimi näkee päivitykset yhdessä paikassa
Ilmoitustasot
- NONE - Ei ilmoituksia.
- BASIC - Vain uudet tiketit.
- FULL - Uudet tiketit + kaikki päivitykset.
Miten botti selvittää vastaanottajat
Botti tallentaa yhdistelyn seuraavien välillä:
- Käyttäjän sähköposti → henkilökohtainen chat-keskustelu.
- Teams-kanavan tunnus → ryhmäkeskustelu.
- Vuokraajan tunnus (Tenant ID) → organisaation määritys.
Prosessi
- Matrix42 ESM lähettää XML-ilmoituksen.
- Backend jäsentää keskeiset kentät:
- asiakkaan sähköposti
- vastuuhenkilön sähköposti
- tukiryhmän kanavan tunnus
- Botti etsii vastaavia keskusteluja CosmosDB:stä.
- Ilmoitus toimitetaan Teamsiin Adaptive Card -muodossa.
Arkkitehtuuri palveluntarjoajille (MSP)
Managed Service Providerit (MSP) voivat tarjota asiakkailleen tiedonhaku- ja agenttipohjaisia käyttötapauksia M42 Assist MS Teams -sovelluksen kautta. Alla on viitearkkitehtuuri:

Tietoturva
Salaus
- Kaikki siirrettävä data: TLS 1.2+.
- Kaikki CosmosDB:ssä oleva data: salaus levossa.
Eristäminen
- Jokaisella vuokraajalla on oma erillinen määrityksensä.
- Käyttäjäistunnot on täysin eristetty.
- Botti pääsee käsiksi vain keskusteluihin, joihin se osallistuu.
Tallennettu data (vain välttämätön)
- Teams-keskustelujen tunnukset.
- Vuokraajan tunnus.
- Käyttäjän sähköposti (vain henkilökohtaisissa keskusteluissa).
- Matrix42-kanavan/istunnon tunnus.
- Lomaketiedot aktiivisen prosessin aikana.
- Keskusteluviitteet ilmoitusten toimitusta varten.
Dataa, jota EI tallenneta
- Käyttöoikeustunnukset (access tokenit).
- Salasanat.
- Koko keskusteluhistoria.
- Ladatut tiedostot (lähetetään suoraan Matrix42-rajapintoihin).
Tietojen säilytys
- Istunnot vanhenevat käyttämättömyyden jälkeen.
- Vanhentuneet istunnot poistetaan automaattisesti.
- Keskusteluhistorian säilytystä hallitaan Matrix42:n käytäntöjen mukaisesti.
Käyttöoikeudet ja vaatimukset
Miksi botti EI vaadi Entra ID -käyttöoikeuksia?
Teams-sovellukset jakautuvat tyypillisesti kahteen malliin:
A. Bot Framework API:n käyttö (ei vaadi Entra ID -käyttöoikeuksia)
M42 Assist -sovellus käyttää vain tätä mallia.
Tämä antaa pääsyn vain seuraaviin:
- Botille suoraan lähetetyt viestit.
- Perustiedot käyttäjästä (sähköposti, nimi).
- Keskustelun konteksti.
B. Microsoft Graph API:n käyttö (vaatii Entra ID -käyttöoikeuksia)
M42 Assist ei käytä mitään toimintoa, joka vaatisi Entra ID -käyttöoikeuksia, kuten:
- Microsoft Graph API.
- Kertakirjautuminen (SSO) OAuthin kautta.
- Delegoitu tai sovellustason pääsy Microsoft 365 -dataan.
Mitä botti todella tekee (koodiesimerkki)
async handleMessage(context) {
const text = context.activity.text;
// Basic user profile from Bot Framework API
const user = await TeamsInfo.getMember(context, context.activity.from.id);
const email = user.email;
// Sending query to Matrix42 Chat API
await chatApiWrapper.talk(text, channelUid);
// Response back to Teams await
context.sendActivity({ text: "AI response..." });
}Mihin dataan botti pääsee käsiksi
Botin käytettävissä oleva data
Botilla on pääsy vain siihen dataan, jonka Microsoft Teams tarjoaa nimenomaisesti Bot Frameworkin kautta suoran vuorovaikutuksen aikana botin kanssa.
Käytettävissä oleva data sisältää muun muassa:
- Käyttäjän sähköpostiosoite (haetaan TeamsInfo.getMember()-metodilla).
- Käyttäjän näyttönimi.
- AadObjectId (käyttäjän yksilöllinen tunniste Entra ID:ssä).
- Botille suoraan lähetetty viestiteksti.
- Viestin tyyppi (teksti, tiedosto, komento, adaptive card -syöte jne.).
- Teams-keskustelun tunnus.
- Vuokraajan tunnus (Microsoft 365 -vuokraajan tunniste).
- Kanavan tunnus (ryhmä- tai tiimikeskustelun tapauksessa).
- Käyttäjän suoraan viestiin liittämät tiedostot.
- Adaptive Card -lähetystiedot, mukaan lukien lomakesyötteet.
- Botin mainintakonteksti (jos käyttäjä mainitsee botin kanavalla).
- Perustason tiimi-/kanavametatiedot, kuten:
- Tiimin nimi.
- Kanavan nimi.
- Kanavan tyyppi (vakio/yksityinen/jaettu).
Tärkeää:
- Botti saa käyttäjätietoja vain sen käyttäjän osalta, joka on vuorovaikutuksessa sen kanssa.
- Se ei saa luetteloa kaikista kanavan jäsenistä tai organisaation käyttäjistä, ellei sitä nimenomaisesti pyydetä Graph API:n kautta — jota EMME käytä.
Data, johon botti EI pääse käsiksi
Botti ei pääse käsiksi mihinkään Microsoft 365 -resursseihin suoran vuorovaikutuksen kontekstin ulkopuolella.
Ei-käytettävissä oleva data sisältää muun muassa:
- Muiden käyttäjien väliset yksityiset keskustelut.
- Viestit tavallisilla Teams-kanavilla, ellei:
- Bottia mainita nimenomaisesti @-maininnalla.
- Viestiä lähetetä botille erillisen bottikanavan kautta.
- Keskusteluhistoria millä tahansa kanavalla tai ryhmässä (botille lähetettyjen viestien ulkopuolella).
- Käyttäjien kalenterit (Outlook-kalenteritapahtumat).
- Käyttäjien sähköpostilaatikot (Outlook-sähköposti).
- Yhteystiedot tai henkilökohtaiset osoitekirjat.
- SharePointissa tai OneDrivessa olevat tiedostot (ellei käyttäjä liitä tiedostoa suoraan botin kanssa käytävään keskusteluun).
- Koko organisaation kattavat käyttäjäluettelot (täysi hakemisto).
- Läsnäolotiedot (online/offline-tila).
- Teams-kokoustiedot ja kokouskeskustelut.
- Käyttöoikeudet, ryhmäjäsenyydet tai roolit Entra ID:ssä.
- Mikä tahansa Microsoft Graph API:n suojaama data, mukaan lukien:
- OneDrive- / SharePoint-arkistot.
- Teams-tiimirakenteet.
- M365-käyttäjäprofiilit.
- Organisaatioraportit.
- Tietoturvalokit.
- Mikä tahansa järjestelmänlaajuinen määritys, joka on tallennettu Microsoft 365 -vuokraajaan.
Taatut tietoturvarajat:
- Botti ei näe mitään, ellei käyttäjä ole nimenomaisesti vuorovaikutuksessa sen kanssa.
- Sillä ei ole minkäänlaista näkyvyyttä sisältöön tai metatietoon kyseisen vuorovaikutuksen ulkopuolella.
Vähimmäisvaatimukset
Vaaditaan
- Microsoft 365 -tili, jossa on Teams.
- Pääsy Teams Admin Centeriin.
- Internet-yhteys Matrix42-backendiin.
Ei vaadita
- Sovellusrekisteröintiä Entra ID:ssä.
- API-käyttöoikeuksia.
- Pääkäyttäjän suostumusta.
- Mukautettuja verkkotunnuksia tai SSL-varmenteita.
Asennusopas
Vaihtoehto A — Käyttäjät asentavat sovelluksen manuaalisesti
- Siirry Teams-sovelluksiin
- Etsi ”M42 Assist” ja lisää se.
- Ota yhteyttä pääkäyttäjään asennuksen viimeistelemiseksi
Vaihtoehto B — Automaattinen asennus käyttäjille
- Siirry kohtaan Teams apps → Setup policies.
- Luo tai muokkaa käytäntöä.
- Lisää ”M42 Assist” kohtaan Installed Apps.
- Määritä käytäntö käyttäjille tai käyttäjäryhmille.
Pääkäyttäjät voivat myös jakaa linkin:
Asennustavasta riippumatta sovellus ei kuitenkaan vaadi mitään lisä-Microsoft Graph API -käyttöoikeuksia tai Entra ID (Azure AD) -suostumusta.
Liiketoimintatason yleiskatsauksen M42 Assistin toiminnasta löydät kohdasta Ratkaisukuvaus. ESM/CAI-käyttöönottovaiheet, jotka toteuttavat tätä arkkitehtuuria käytännössä, löydät kohdasta Konfigurointi.
Table of Contents