Verifisert mot offisiell MS-doc (juni 2026): «Microsoft Foundry» er det gjeldende produkt-/portalnavnet; «Foundry (classic)» = gamle «Azure AI Foundry» (/azure/foundry/ vs /azure/foundry-classic/). Premiss bekreftet før sveip. Multi-regel, IKKE naiv s/Azure AI Foundry/Microsoft Foundry/ — MS dropper «Azure AI» (legger IKKE til «Microsoft») for to produktvarianter: - «Azure AI Foundry Agent[ Service|s]» → «Foundry Agent Service/Agents» (MS-form) - «Azure AI Foundry Models» → «Foundry Models» (i «Azure OpenAI in Foundry Models») - «Azure AI Foundry SDK» → «Microsoft Foundry SDK» (operatør-valg) - «Azure AI Foundry portal/project» + generisk → «Microsoft Foundry» - Pre-eksisterende «Microsoft Foundry Models» (4) normalisert → «Foundry Models» Bevart: «Azure OpenAI», «Azure AI Inference SDK», «Azure AI Search», «Azure AI Services», kode-IDer. Historisk ref «(tidligere Azure AI Foundry)» i model-catalog-2026.md beskyttet via lookbehind. URL /azure/ai-foundry/→ /azure/foundry/ kun i owasp-llm-top10 (KB-ref); docs/-filer deferred. Scope: skills (inkl. 3 SKILL.md) + commands + agents + README + CLAUDE. Ekskludert: docs/ (interne), playground/+tests/ fixtures (testdata), CHANGELOG.md (historisk logg), STATE.md (gitignored). 3 SKILL.md endret (advisor/engineering/security) → judge-cache teknisk invalidert for disse, men scorer uendret: advisor 91, eng/gov/infra/sec 96 (alle ≥90). validate 239/0. 0 «Azure AI Foundry» igjen (utenom bevart ref). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
544 lines
22 KiB
Markdown
544 lines
22 KiB
Markdown
# Microsoft Graph API for Copilot Extensions
|
||
|
||
**Last updated:** 2026-02
|
||
**Status:** GA
|
||
**Category:** Copilot Extensibility & Integration
|
||
|
||
---
|
||
|
||
## Introduksjon
|
||
|
||
Microsoft Graph API for Copilot Extensions gir mekanismer for å utvide Microsoft 365 Copilot med ekstern data og funksjonalitet gjennom tre hovedveier: **Copilot Connectors** (tidligere Microsoft Graph Connectors), **API Plugins**, og **Graph Actions med Semantic Kernel**. Disse teknologiene lar organisasjoner integrere line-of-business-data, eksterne APIer og Microsoft 365-funksjonalitet i Copilot-opplevelser.
|
||
|
||
**Copilot Connectors** importerer ekstern innhold inn i Microsoft Graph for å berike Copilots kunnskapsbase. **API Plugins** kobler REST-APIer til declarative agents for å utføre handlinger. **Graph Actions** lar custom engine agents (bygget med Semantic Kernel) bruke Microsoft Graph API-funksjoner som å sende e-post, opprette kalenderhendelser og hente filer gjennom naturlig språk.
|
||
|
||
**Confidence:** Verified (microsoft-learn MCP, januar 2026)
|
||
|
||
---
|
||
|
||
## Kjernekomponenter
|
||
|
||
### 1. Copilot Connectors (Microsoft Graph Connectors)
|
||
|
||
**Formål:** Indeksere ekstern data inn i Microsoft Graph for å gjøre den søkbar og tilgjengelig for Copilot, Microsoft Search, Context IQ og andre M365-opplevelser.
|
||
|
||
| Komponent | Beskrivelse | API Resource |
|
||
|-----------|-------------|--------------|
|
||
| **External Connection** | Logisk container for ekstern data | `externalConnection` |
|
||
| **Schema** | Definerer struktur og metadata for innholdet | `schema` |
|
||
| **External Item** | Individuelt dataobjekt indeksert i Microsoft Graph | `externalItem` |
|
||
| **External Group** | Ikke-Entra ID grupper for tilgangskontroll (ACL) | `externalGroup` |
|
||
| **Activity Settings** | Konfigurasjon for brukeraktiviteter og URL-resolving | `activitySettings` |
|
||
| **Semantic Labels** | Metadata for å hjelpe Copilot tolke schemameningen | `iconUrl`, `title`, `url`, etc. |
|
||
|
||
**Fire steg for å bygge custom Copilot Connector:**
|
||
|
||
1. **Opprett Entra ID app registration** med nødvendige Graph API-permissions
|
||
2. **Opprett external connection** med unik ID, navn og beskrivelse
|
||
3. **Registrer schema** (long-running operation, async provisioning)
|
||
4. **Ingest external items** med innhold og ACL
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_fetch)
|
||
|
||
### 2. API Plugins
|
||
|
||
**Formål:** Koble REST APIer til declarative agents for å utføre handlinger på vegne av brukeren.
|
||
|
||
**Støttes kun som actions innenfor declarative agents** (ikke standalone i M365 Copilot).
|
||
|
||
| Komponent | Beskrivelse |
|
||
|-----------|-------------|
|
||
| **OpenAPI Specification** | Beskriver REST API-endepunkter, parametere og autentisering |
|
||
| **Plugin Manifest** | API plugin manifest (schema v2.4) som definerer plugin capabilities |
|
||
| **Authentication** | Token/API key fra token store (støtter OAuth2, API keys) |
|
||
| **Confirmation Prompts** | Brukerbekreftelse før data sendes til plugin (konfigurerbart) |
|
||
|
||
**Dataflyt:**
|
||
1. Bruker stiller spørsmål → Agent identifiserer relevant plugin
|
||
2. Agent mapper spørsmål til funksjon og parametere
|
||
3. Agent ber om brukerbekreftelse
|
||
4. Plugin henter token fra token store (hvis nødvendig)
|
||
5. API-kall sendes til eksternt endepunkt
|
||
6. Agent genererer respons basert på API-svar
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_search)
|
||
|
||
### 3. Graph Actions med Semantic Kernel
|
||
|
||
**Formål:** La custom engine agents bruke Microsoft Graph API-funksjoner gjennom naturlig språk.
|
||
|
||
**Prebuilt plugins:**
|
||
- **ContactsPlugin** – Administrer kontakter
|
||
- **MessagesPlugin** – Interager med e-post
|
||
- **CalendarPlugin** – Opprett og list møter
|
||
- **DriveItemsPlugin** – Søk, les og last opp filer
|
||
- **M365 Copilot Plugin (Retrieval API)** – Søk i M365-innhold via semantic index
|
||
|
||
**Hvordan det fungerer:**
|
||
1. Semantic Kernel analyserer brukerintensjon
|
||
2. Matcher til riktig plugin (f.eks. CalendarPlugin)
|
||
3. Genererer Microsoft Graph API-kall
|
||
4. Kjører request med delegated auth
|
||
5. Returnerer resultat som naturlig språk-respons
|
||
|
||
**Verktøy:** Kiota CLI for å generere plugins fra OpenAPI spec.
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_search)
|
||
|
||
---
|
||
|
||
## Arkitekturmønstre
|
||
|
||
### Mønster 1: Knowledge Augmentation (Copilot Connectors)
|
||
|
||
**Bruksområde:** Berike Copilots kunnskapsbase med line-of-business data (ERP, CRM, wiki, dokumenter).
|
||
|
||
```
|
||
[External Data Source]
|
||
↓ (API/SDK)
|
||
[Custom Connector Code]
|
||
↓ (Graph Connectors API)
|
||
[Microsoft Graph - External Items]
|
||
↓ (Semantic Index)
|
||
[M365 Copilot + Search + Context IQ]
|
||
```
|
||
|
||
**Best practices:**
|
||
- Bruk **semantic labels** (`title`, `content`, `iconUrl`, `url`) for å forbedre Copilot-relevans
|
||
- Inkluder **urlToItemResolver** for å oppdage delte URLer (booster viktighet)
|
||
- Legg til **user activities** (view, modify, comment) for relevansscoring
|
||
- Rik **description** i connection-konfigurasjon
|
||
- Ingest content som **tekst** i `content`-property (ikke bare metadata)
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_fetch)
|
||
|
||
### Mønster 2: Action Execution (API Plugins)
|
||
|
||
**Bruksområde:** Utføre handlinger i eksterne systemer fra declarative agents (f.eks. "Opprett Jira ticket", "Sjekk budsjett i ERP").
|
||
|
||
```
|
||
[User Prompt]
|
||
↓
|
||
[Declarative Agent]
|
||
↓ (Confirmation)
|
||
[API Plugin] → [Token Store] → [External REST API]
|
||
↓
|
||
[Agent Response]
|
||
```
|
||
|
||
**Best practices:**
|
||
- Følg [OpenAPI guidance for Copilot](https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/openapi-document-guidance)
|
||
- Bruk **confirmation prompts** fornuftig (default: read-only = "Always allow", write = no "Always allow")
|
||
- Implementer robust **error handling** i API
|
||
- Begrens antall operasjoner per plugin (fokuser på kjernefunksjonalitet)
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_search)
|
||
|
||
### Mønster 3: M365 Data Integration (Graph Actions)
|
||
|
||
**Bruksområde:** Custom agents som trenger tilgang til M365-data (e-post, kalender, filer, kontakter).
|
||
|
||
```
|
||
[User Prompt]
|
||
↓
|
||
[Semantic Kernel Agent]
|
||
↓ (Plugin Selection)
|
||
[Graph Action Plugin] → [Microsoft Graph API]
|
||
↓ (Delegated Auth)
|
||
[M365 Data: Mail/Calendar/Files/Contacts]
|
||
```
|
||
|
||
**Eksempel:**
|
||
- "Sjekk e-post fra min leder, oppsummer, og sett opp møte" → bruker MessagesPlugin + CalendarPlugin + ContactsPlugin
|
||
|
||
**Best practices:**
|
||
- Bruk **prebuilt plugins** der tilgjengelig (vedlikeholdes av Microsoft)
|
||
- Implementer **delegated permissions** (ikke application permissions for brukerdata)
|
||
- Kombiner flere plugins for komplekse workflows
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_search)
|
||
|
||
### Mønster 4: Hybrid (Connector + Plugin)
|
||
|
||
**Bruksområde:** Søkbar data + handlinger i samme ekstern tjeneste.
|
||
|
||
**Eksempel:** Salesforce-integrasjon
|
||
- **Connector:** Indekser Salesforce-objekter (Accounts, Opportunities) for søk
|
||
- **Plugin:** Opprett nye leads, oppdater kontakter
|
||
|
||
**Fordel:** Brukere kan både finne ("Vis alle accounts i Norge") og handle ("Opprett ny contact for Acme Corp").
|
||
|
||
**Confidence:** Baseline (arkitekturprinsipp basert på Microsoft-docs patterns)
|
||
|
||
---
|
||
|
||
## Beslutningsveiledning
|
||
|
||
### Når bruke Copilot Connectors?
|
||
|
||
| Scenario | Anbefaling | Hvorfor |
|
||
|----------|------------|---------|
|
||
| Store mengder lesbar data (dokumenter, wiki, CRM-objekter) | ✅ Copilot Connector | Semantic indexing, søk, oppsummering |
|
||
| Data må være søkbart i Search + Copilot | ✅ Copilot Connector | Deler samme index |
|
||
| Trenger filtere basert på brukerrettigheter (ACL) | ✅ Copilot Connector | External groups støtter ikke-Entra ID ACL |
|
||
| Kun lese-operasjoner | ✅ Copilot Connector | Optimalisert for retrieval |
|
||
| Data endres sjelden (statisk innhold) | ✅ Copilot Connector | Ingest kan være batch/scheduled |
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_fetch + docs_search)
|
||
|
||
### Når bruke API Plugins?
|
||
|
||
| Scenario | Anbefaling | Hvorfor |
|
||
|----------|------------|---------|
|
||
| Utføre handlinger (create, update, delete) | ✅ API Plugin | Designet for actions |
|
||
| Real-time data fra REST API (ikke indeksering) | ✅ API Plugin | On-demand API calls |
|
||
| Behov for brukerbekreftelse før handling | ✅ API Plugin | Innebygd confirmation flow |
|
||
| Integration med declarative agent | ✅ API Plugin | Kun støttet som agent actions |
|
||
| Liten, fokusert funksjonalitet (f.eks. "Hent budsjett") | ✅ API Plugin | Lightweight, ikke persistence |
|
||
|
||
**Merk:** API Plugins er **ikke** standalone i M365 Copilot (kun som actions i declarative agents).
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_search)
|
||
|
||
### Når bruke Graph Actions?
|
||
|
||
| Scenario | Anbefaling | Hvorfor |
|
||
|----------|------------|---------|
|
||
| Custom engine agent trenger M365-data | ✅ Graph Actions | Prebuilt plugins for Graph API |
|
||
| Sende e-post, opprette møter, hente filer | ✅ Graph Actions | ContactsPlugin, MessagesPlugin, CalendarPlugin, DriveItemsPlugin |
|
||
| Semantic Kernel-basert agent | ✅ Graph Actions | Native integration |
|
||
| Multi-step workflows med M365-data | ✅ Graph Actions | Kombiner flere plugins |
|
||
| Delegated permissions (brukerkontekst) | ✅ Graph Actions | Kjører som signed-in user |
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_search)
|
||
|
||
### Beslutningstre
|
||
|
||
```
|
||
Trenger du å berike Copilot med ekstern data?
|
||
├─ Ja, for søk og oppsummering → Copilot Connector
|
||
└─ Nei, trenger å utføre handlinger
|
||
├─ Handlinger i M365 (e-post, kalender, filer) → Graph Actions
|
||
└─ Handlinger i eksterne systemer → API Plugin
|
||
└─ Merk: Krever declarative agent
|
||
```
|
||
|
||
**Confidence:** Baseline (syntetisert fra verified sources)
|
||
|
||
---
|
||
|
||
## Integrasjon med Microsoft-stakken
|
||
|
||
### 1. Microsoft 365 Copilot
|
||
|
||
**Copilot Connectors:**
|
||
- Innhold dukker opp i Copilot-svar med **in-text citations** (hover for preview)
|
||
- **Reference links** nederst i responsen
|
||
- Krever **inline results** aktivert i Admin Center (Agents and connectors → Copilot)
|
||
|
||
**API Plugins:**
|
||
- Kun tilgjengelig som **actions i declarative agents** (ikke i business chat)
|
||
|
||
**Graph Actions:**
|
||
- Kun for **custom engine agents** (ikke M365 Copilot business chat)
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_fetch)
|
||
|
||
### 2. Microsoft Search
|
||
|
||
**Copilot Connectors:**
|
||
- Samme index som Copilot → eksterne items er søkbare
|
||
- Støtter **verticals** (filtrering etter connector)
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_fetch)
|
||
|
||
### 3. Context IQ & microsoft365.com
|
||
|
||
**Copilot Connectors:**
|
||
- Connector content tilgjengelig i Context IQ (recommendations)
|
||
- Vises på microsoft365.com (unified experience)
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_search)
|
||
|
||
### 4. Teams
|
||
|
||
**Message Extensions:**
|
||
- Kan fungere som plugins for M365 Copilot
|
||
- Søk/handlinger i eksterne tjenester via Adaptive Cards
|
||
- Utvides med **Bot Framework** eller **Teams AI library**
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_search)
|
||
|
||
### 5. Copilot Studio
|
||
|
||
**Low-code alternativ:**
|
||
- Power Platform Connectors (prebuilt + custom)
|
||
- Integrerer med både Microsoft data og ISV-data
|
||
- Kan bruke **Graph API** for M365-data
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_search)
|
||
|
||
### 6. Microsoft Foundry & Semantic Kernel
|
||
|
||
**Graph Actions:**
|
||
- Semantic Kernel er **påkrevd** for Graph Actions
|
||
- Kiota CLI genererer plugins fra OpenAPI spec
|
||
- Støtter **C#, Python, TypeScript** SDKs
|
||
|
||
**SDK-pakker:**
|
||
- .NET: `Microsoft.Agent.M365Copilot` (v1.0), `Microsoft.Agent.M365Copilot.Beta`
|
||
- Python: `microsoft-agents-m365copilot`, `microsoft-agents-m365copilot-beta`
|
||
- TypeScript: `@microsoft/agents-m365copilot`, `@microsoft/agents-m365copilot-beta`
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_search)
|
||
|
||
---
|
||
|
||
## Offentlig sektor (Norge)
|
||
|
||
### Compliance & Data Residency
|
||
|
||
| Aspekt | Copilot Connectors | API Plugins | Graph Actions |
|
||
|--------|-------------------|-------------|---------------|
|
||
| **Data location** | External items i Microsoft Graph (tenant region) | API-data forblir i eksternt system | M365-data i tenant region |
|
||
| **GCC/GCCH support** | ✅ Ja (ikke DoD) | ✅ Ja (via declarative agents) | ✅ Ja (via M365 Copilot) |
|
||
| **Data processing** | Microsoft Graph (EU Data Boundary for EU tenants) | Eksternt API (utenfor Microsoft) | Microsoft Graph |
|
||
| **Audit logging** | Microsoft 365 audit logs | API-side logging (eksternt) | M365 audit logs |
|
||
|
||
**Offentlig sektor Norge:**
|
||
- **Copilot Connectors** og **Graph Actions** innenfor Microsoft 365 boundary (OK for Skytjenesteavtalen/DPA)
|
||
- **API Plugins** krever databehandleravtale med API-leverandør hvis persondata sendes
|
||
|
||
**Confidence:** Baseline (ekstrapolert fra M365 compliance docs)
|
||
|
||
### Tilgangskontroll
|
||
|
||
**Copilot Connectors:**
|
||
- Støtter **External Groups** for ikke-Entra ID ACL (f.eks. Salesforce permission sets, ServiceNow local groups)
|
||
- **Active Directory sync** påkrevd for security trimming (SharePoint Server connector)
|
||
- Brukere ser kun content de har tilgang til
|
||
|
||
**API Plugins:**
|
||
- Brukerbekreftelse (**confirmation prompts**) før data sendes
|
||
- Autentisering via **token store** (OAuth2, API keys)
|
||
|
||
**Graph Actions:**
|
||
- **Delegated permissions** (kjører som signed-in user)
|
||
- Respekterer Entra ID roller og policies
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_fetch + docs_search)
|
||
|
||
### Schrems II & Datatilsynet
|
||
|
||
**Vurderinger:**
|
||
- **Copilot Connectors:** Data i Microsoft Graph → samme risikovurdering som Microsoft 365
|
||
- **API Plugins:** Tredjepartsdata → egen risikovurdering per API-leverandør
|
||
- **Graph Actions:** M365-data → innenfor Microsoft 365 DPA
|
||
|
||
**Anbefaling:** Gjennomfør DPIA for Copilot Connectors med sensitive persondata (samme prosess som for Microsoft Search).
|
||
|
||
**Confidence:** Baseline (juridisk ekstrapolering)
|
||
|
||
---
|
||
|
||
## Kostnad og lisensiering
|
||
|
||
### Copilot Connectors
|
||
|
||
| Kostnadselement | Detaljer |
|
||
|-----------------|----------|
|
||
| **Item quota** | Items konsumerer quota (se [licensing requirements](https://learn.microsoft.com/en-us/microsoftsearch/licensing)) |
|
||
| **Graph API calls** | Standard Graph API pricing (ingest/update/delete operations) |
|
||
| **Connector SDK** | Gratis (open source) |
|
||
| **Prebuilt connectors** | Over 100 tilgjengelig fra Microsoft og partnere (noen krever partnerlisens) |
|
||
| **Custom connector hosting** | Egen infrastruktur (Azure Functions, VM, on-prem) |
|
||
|
||
**Lisenskrav:**
|
||
- **Microsoft 365 E5** eller **Office 365 E5** for full Copilot connector support
|
||
- **Microsoft Search** inkludert i E3/E5
|
||
|
||
**Confidence:** Verified (microsoft-learn docs_fetch)
|
||
|
||
### API Plugins
|
||
|
||
| Kostnadselement | Detaljer |
|
||
|-----------------|----------|
|
||
| **API calls** | Eksternt API pricing (varierer per leverandør) |
|
||
| **Token store** | Inkludert i M365 Copilot (ingen ekstra kostnad) |
|
||
| **Declarative agent** | Krever M365 Copilot lisens (ca. $30/user/month) |
|
||
| **Development** | Microsoft 365 Agents Toolkit (gratis i VS Code) |
|
||
|
||
**Confidence:** Baseline (basert på M365 Copilot lisensmodell)
|
||
|
||
### Graph Actions (Semantic Kernel)
|
||
|
||
| Kostnadselement | Detaljer |
|
||
|-----------------|----------|
|
||
| **Graph API calls** | Inkludert i M365-lisens (delegated permissions) |
|
||
| **Semantic Kernel SDK** | Gratis (open source) |
|
||
| **LLM costs** | Avhenger av valgt modell (Azure OpenAI, OpenAI, etc.) |
|
||
| **Hosting** | Custom engine agent hosting (Azure App Service, Container Apps, etc.) |
|
||
|
||
**Confidence:** Baseline (Semantic Kernel OSS + Azure OpenAI pricing)
|
||
|
||
### TCO-sammenligning (norsk offentlig sektor)
|
||
|
||
**Scenario:** Indeksere 50 000 dokumenter fra fagsystem + tillate opprettelse av saker
|
||
|
||
| Løsning | Setup-kostnad | Årlig drift | Lisenskrav |
|
||
|---------|--------------|-------------|------------|
|
||
| **Connector + Plugin** | Middels (utvikling) | Lav (Graph quota + API calls) | M365 E5 + Copilot |
|
||
| **Kun Plugin** | Lav (API mapping) | Lav (API calls) | M365 E5 + Copilot |
|
||
| **Kun Connector** | Middels (utvikling) | Lav (Graph quota) | M365 E5 (Search OK, Copilot anbefalt) |
|
||
| **Graph Actions** | Høy (custom agent) | Middels-høy (hosting + LLM) | M365 E5 + Azure OpenAI |
|
||
|
||
**Anbefaling for norsk offentlig sektor:**
|
||
- **Start med Copilot Connectors** for read-only data (lavest kompleksitet)
|
||
- **Legg til API Plugins** for handlinger når declarative agents er GA
|
||
- **Vurder Graph Actions** kun for avanserte custom agents med M365-integrasjon
|
||
|
||
**Confidence:** Baseline (syntetisert kostnadsvurdering)
|
||
|
||
---
|
||
|
||
## For arkitekten (Cosmo)
|
||
|
||
### Anbefalinger
|
||
|
||
1. **Start med Copilot Connectors for kunnskapsbase**
|
||
- Lavest barrier to entry
|
||
- Gjenbrukbar i Search, Context IQ, Copilot
|
||
- Bruk **prebuilt connectors** der tilgjengelig (100+ fra Microsoft/partnere)
|
||
- Custom connector kun når prebuilt ikke finnes
|
||
|
||
2. **API Plugins krever declarative agents**
|
||
- **Viktig:** API Plugins fungerer IKKE standalone i M365 Copilot business chat
|
||
- Må pakkes som actions i declarative agent
|
||
- Vurder om message extension (Teams) er bedre match for read/write scenarios
|
||
|
||
3. **Graph Actions for avanserte custom agents**
|
||
- Bruk **prebuilt plugins** (ContactsPlugin, MessagesPlugin, CalendarPlugin, DriveItemsPlugin, M365 Copilot Plugin)
|
||
- Kombinér flere plugins for multi-step workflows
|
||
- Vurder Copilot Studio som low-code alternativ før custom Semantic Kernel agent
|
||
|
||
4. **Semantic indexing er key for Copilot Connectors**
|
||
- Title + Content properties er semantisk indeksert
|
||
- Semantic labels påvirker **ikke** indexing (kun filtering)
|
||
- Rik tekstuelt innhold i `content` property
|
||
- Bruk semantic labels (`title`, `url`, `iconUrl`) for Copilot UI
|
||
|
||
5. **Sikkerhet og compliance først**
|
||
- External groups for ikke-Entra ID ACL
|
||
- Confirmation prompts for API Plugins
|
||
- Delegated permissions for Graph Actions
|
||
- DPIA for Copilot Connectors med persondata
|
||
|
||
6. **Optimaliser for relevans**
|
||
- `urlToItemResolver` + user activities → høyere scoring
|
||
- Rich descriptions i connections
|
||
- Meaningful titles på external items
|
||
- Flere activities (view, modify, comment) = høyere viktighet
|
||
|
||
### Røde flagg
|
||
|
||
| Situasjon | Problem | Løsning |
|
||
|-----------|---------|---------|
|
||
| "Vi vil bruke API Plugin standalone i Copilot" | ❌ Ikke støttet | Bruk declarative agent eller message extension |
|
||
| "Vi indekserer binærfiler uten tekst-extraction" | ❌ Dårlig Copilot-relevans | Extract text før ingest i `content` property |
|
||
| "Vi hopper over semantic labels" | ❌ Dårlig UI i Copilot | Bruk minst `title`, `url`, `iconUrl` |
|
||
| "Vi bruker application permissions for Graph Actions" | ❌ Sikkerhetsrisiko | Bruk delegated permissions (user context) |
|
||
| "Vi bygger custom connector for SharePoint" | ❌ Unødvendig | Bruk prebuilt SharePoint connector |
|
||
| "Vi forventer real-time ingest til Copilot Connector" | ❌ Feil forventning | Schema provisioning er async, ingest tar tid |
|
||
|
||
**Confidence:** Baseline (arkitektråd basert på verified docs)
|
||
|
||
### Spørsmål å stille kunden
|
||
|
||
1. **Omfang:**
|
||
- Hvor mange eksterne datakilder skal integreres?
|
||
- Estimert antall items/dokumenter?
|
||
- Hvor ofte oppdateres dataene?
|
||
|
||
2. **Funksjonalitet:**
|
||
- Kun lesing (search/summarize) eller også handlinger (create/update)?
|
||
- Må brukere kunne trigge actions fra Copilot?
|
||
- Trenger dere M365-data (e-post, kalender) i samme workflow?
|
||
|
||
3. **Sikkerhet:**
|
||
- Bruker dere Entra ID for alle brukere?
|
||
- Finnes ikke-Entra ID grupper i eksterne systemer (f.eks. Salesforce roles)?
|
||
- Persondata i eksterne systemer?
|
||
|
||
4. **Teknisk kapasitet:**
|
||
- Har dere utviklere med Graph API-erfaring?
|
||
- Kan dere hoste custom connector (Azure/on-prem)?
|
||
- Foretrekker dere low-code (Copilot Studio) eller pro-code?
|
||
|
||
5. **Lisensiering:**
|
||
- Har brukerne M365 Copilot lisens?
|
||
- E3 eller E5?
|
||
- Budget for item quota (Copilot Connectors)?
|
||
|
||
**Confidence:** Baseline (discovery-spørsmål)
|
||
|
||
---
|
||
|
||
## Kilder og verifisering
|
||
|
||
### Microsoft Learn (MCP-verified, januar 2026)
|
||
|
||
1. **Microsoft 365 Copilot connectors overview**
|
||
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/overview-copilot-connector
|
||
*Verified via microsoft_docs_fetch*
|
||
|
||
2. **Work with the Copilot connectors API**
|
||
https://learn.microsoft.com/en-us/graph/connecting-external-content-connectors-api-overview
|
||
*Verified via microsoft_docs_fetch*
|
||
|
||
3. **Invoke Microsoft Graph actions with Semantic Kernel**
|
||
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/graph-actions-semantic-kernel
|
||
*Verified via microsoft_docs_search*
|
||
|
||
4. **Build API plugins from an existing API for Microsoft 365 Copilot**
|
||
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/build-api-plugins-existing-api
|
||
*Verified via microsoft_docs_search*
|
||
|
||
5. **Extend Microsoft 365 Copilot**
|
||
https://learn.microsoft.com/en-us/microsoftteams/platform/archive/how-to-extend-copilot
|
||
*Verified via microsoft_docs_search*
|
||
|
||
6. **Microsoft 365 Copilot extensibility overview**
|
||
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/
|
||
*Verified via microsoft_docs_search*
|
||
|
||
7. **Copilot connector experiences**
|
||
https://learn.microsoft.com/en-us/graph/connecting-external-content-experiences
|
||
*Verified via microsoft_docs_search*
|
||
|
||
8. **Use the Copilot connectors API**
|
||
https://learn.microsoft.com/en-us/graph/api/resources/connectors-api-overview?view=graph-rest-1.0
|
||
*Verified via microsoft_docs_search*
|
||
|
||
9. **Adopt, extend and build Copilot experiences across the Microsoft Cloud**
|
||
https://learn.microsoft.com/en-us/microsoft-cloud/dev/copilot/overview
|
||
*Verified via microsoft_docs_search*
|
||
|
||
10. **Microsoft 365 Copilot extensibility samples**
|
||
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/samples
|
||
*Verified via microsoft_docs_search*
|
||
|
||
### Code Samples (MCP-verified)
|
||
|
||
11. **Microsoft 365 Copilot APIs client libraries**
|
||
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/sdks/api-libraries
|
||
*C#, Python, TypeScript SDK samples*
|
||
|
||
### Baseline Knowledge (Model knowledge, jan 2025)
|
||
|
||
- Schrems II vurderinger for norsk offentlig sektor
|
||
- TCO-kostnadsmodeller
|
||
- Compliance-anbefalinger for Datatilsynet
|
||
- Arkitekturbeslutningstrær
|
||
|
||
**Total kilder:** 11 MCP-verified URLs, 4+ code samples
|
||
**MCP calls:** 7 (3x docs_search, 2x docs_fetch, 1x code_sample_search, 1x ToolSearch)
|