# Copilot Connectors - Implementation Patterns

**Last updated:** 2026-04 | Verified: MCP 2026-04-10
**Status:** GA (Synced Connectors) / Early Access Preview (Federated Connectors)
**Category:** Copilot Extensibility & Integration

---

## Introduksjon

Copilot-koblinger (tidligere Microsoft Graph-koblinger) er Microsofts primære mønster for å bringe eksterne data inn i Microsoft 365-økosystemet. De utvider rekkevidden til Microsoft 365 Copilot, Microsoft Search, Context IQ og andre intelligente opplevelser ved å koble til data utover Microsoft 365-grensene.

Det finnes to fundamentalt forskjellige arkitekturer for Copilot-koblinger: **synced connectors** (synkroniserte koblinger) som indekserer data inn i Microsoft Graph, og **federated connectors** (fødererte koblinger) som henter data i sanntid uten indeksering. Valget mellom disse påvirker sikkerhetsmodellen, ytelsen, kostnadene og brukeropplevelsen.

I tillegg finnes det spesialiserte implementeringsmønstre for integrasjon med Copilot Studio (via Power Platform connectors) og for people data-scenarier. Denne kunnskapsreferansen dekker alle implementeringsmønstrene med fokus på når hvert mønster passer, tekniske kompromisser, og offentlig sektor-konsekvenser.

## Kjernekomponenter

### Connector-typer og forskjeller

| Feature | Synced Connectors | Federated Connectors (Preview) | Power Platform Connectors |
|---------|-------------------|--------------------------------|---------------------------|
| **Data-håndtering** | Indeksert i Microsoft Graph | Hentet live uten indeksering | Brukt via Power Platform actions |
| **Tilgangsmodell** | Organisasjonsnivå (org-wide) | Brukernivå (per-user) | Agent-nivå (Copilot Studio) |
| **Oppsett** | Admin konfigurerer | Admin enabler, brukere autentiserer | Maker/developer konfigurerer |
| **Status** | GA (Generally Available) | Early Access Preview (Frontier) | GA |
| **Bruksscenario** | Bred indeksering, static data | Sensitiv, dynamisk, live data | Low-code bot-integrasjon |
| **Skriveoperasjoner** | Nei (read-only) | Nei (read-only) | Ja (via actions) |
| **Custom connector-støtte** | Ja (Graph API, SDK) | Nei (kun Microsoft-leverte) | Ja (OpenAPI, custom code) |
| **Kostnadsmodell** | Item quota (indekserte items) | Ukjent (preview) | Per API-kall (variable) |

### Microsoft 365 Copilot Connector-arkitektur

**Synced connector-flyt:**
```
Eksterne data → Connector (crawl/index) → Microsoft Graph → Copilot/Search
```

**Federated connector-flyt:**
```
Brukerforespørsel → Copilot → MCP API → Ekstern kilde (live) → Respons til Copilot
```

**Power Platform connector-flyt:**
```
Brukerforespørsel → Copilot Studio agent → Power Platform connector → ISV API → Respons til agent
```

### Byggeklosser for custom synced connector

Fire obligatoriske steg (via Microsoft Graph API):

1. **Entra ID app-registrering**
   Oppretter applikasjonidentitet med nødvendige Graph-tillatelser (`ExternalConnection.ReadWrite.OwnedBy`, `ExternalItem.ReadWrite.OwnedBy`).

2. **External connection**
   Logisk container for eksterne data. Krever unikt ID, navn og beskrivelse.

3. **Schema-registrering**
   Definerer strukturen på eksterne data (properties, attributter, semantic labels). Langvarig operasjon (async).

4. **Item ingestion**
   Transformerer og sender eksterne items til Microsoft Graph med ACL (access control list).

### Semantic labels og property attributes

**Semantic labels** (viktige for ranking og relevans):

| Label | Formål | Påkrevd for |
|-------|--------|-------------|
| `title` | Dokumenttittel | Search, Context IQ, Copilot |
| `url` | Link til originaldokument | Search, Context IQ |
| `iconUrl` | Ikon for dokument | Context IQ |
| `authors` | Forfatter(e) | Search relevance |
| `lastModifiedBy` | Sist endret av | Search, audit |
| `lastModifiedDateTime` | Sist endret | Ranking, freshness |

**Property attributes** (søkefunksjonalitet):

| Attribute | Beskrivelse | Eksempel |
|-----------|-------------|----------|
| `isSearchable` | Fulltext-søkbar | Dokumentinnhold |
| `isQueryable` | Kan filtreres/sorteres | Dato, forfatter |
| `isRetrievable` | Vises i resultater | Tittel, sammendrag |
| `isRefinable` | Faceted search | Kategori, avdeling |

## Arkitekturmønstre

### Mønster 1: Synced Connector (Broad Indexing)

**Beskrivelse:**
Crawl og indekser eksterne data inn i Microsoft Graph for bred søkbarhet og Copilot-resonnering. Dataen blir indeksert én gang og er deretter tilgjengelig for alle Microsoft 365-opplevelser.

**Når å bruke:**
- Du har **statiske eller semi-statiske data** (dokumenter, policies, FAQs, knowledge bases)
- Dataene er **ikke svært sensitive** (kan indekseres i Microsoft 365)
- Du trenger **høy ytelse** (Copilot trenger ikke vente på ekstern API)
- Du vil **samle data fra flere kilder** til én søkeindeks
- Du har **tilstrekkelig item quota** (lisensiert)

**Fordeler:**
- Rask responstid (data er pre-indeksert)
- Rik semantic search med AI-resonnering
- Støtter full-text search, facets, ranking
- Enhetlig brukeropplevelse på tvers av M365-apps
- Ingen run-time avhengighet av kildesystemet

**Ulemper:**
- Data kan bli utdatert mellom crawls (latency)
- Krever item quota (kostnad per 1000 items)
- Dataen kopieres inn i Microsoft 365 (data residency-bekymringer)
- Kompleks ACL-modellering hvis kilde har finkornet tilgangskontroll

**Implementering:**

```csharp
// Steg 1: Opprett connection
var connection = new ExternalConnection
{
    Id = "contoso-policies",
    Name = "Contoso Internal Policies",
    Description = "Company policies and procedures"
};
await graphClient.External.Connections.PostAsync(connection);

// Steg 2: Registrer schema
var schema = new Schema
{
    BaseType = "microsoft.graph.externalItem",
    Properties = new List<Property>
    {
        new Property { Name = "title", Type = PropertyType.String, IsSearchable = true },
        new Property { Name = "url", Type = PropertyType.String },
        new Property { Name = "lastModified", Type = PropertyType.DateTime, IsQueryable = true }
    }
};
await graphClient.External.Connections["contoso-policies"].Schema.PatchAsync(schema);

// Steg 3: Ingest items
var item = new ExternalItem
{
    Id = "policy-001",
    Acl = new List<Acl>
    {
        new Acl { Type = AclType.Everyone, Value = "everyone", AccessType = AccessType.Grant }
    },
    Properties = new
    {
        title = "Remote Work Policy",
        url = "https://intranet.contoso.com/policies/remote-work",
        lastModified = DateTime.UtcNow
    },
    Content = new ExternalItemContent
    {
        Type = ExternalItemContentType.Text,
        Value = "Full policy text here..."
    }
};
await graphClient.External.Connections["contoso-policies"].Items[item.Id].PutAsync(item);
```

**Beslutningsveiledning:**
- ✅ Bruk hvis data endrer sjeldnere enn hver time
- ✅ Bruk hvis du trenger faceted search eller ranking
- ❌ Ikke bruk for sanntidsdata (stock prices, live inventory)
- ❌ Ikke bruk hvis data ikke kan forlate kildesystemet (legal/compliance)

---

### Mønster 2: Federated Connector (Real-Time Access)

**Beskrivelse:**
Koble til eksterne data i sanntid via Model Context Protocol (MCP) uten å indeksere innhold i Microsoft 365. Data forblir i kildesystemet og hentes kun når brukeren spør.

**Når å bruke:**
- Du har **svært sensitive data** (må ikke indekseres i M365)
- Du trenger **sanntidsdata** (live priser, inventory, status)
- Du har **dynamiske data** som endrer kontinuerlig
- Du vil **minimere data residency-risiko** (data forblir i kilden)
- Du har **strenge compliance-krav** (GDPR, Schrems II)

**Fordeler:**
- Data forblir i kildesystemet (data sovereignty)
- Alltid oppdatert (ingen stale data)
- Ingen item quota-kostnad (ingen indeksering)
- Enklere ACL-modell (kildesystemet håndterer autorisasjon)
- OAuth 2.0-basert brukernivå-autentisering

**Ulemper:**
- Krever live-tilkobling til kildesystemet (latency + availability)
- Begrenset til Microsoft-leverte connectors (ingen custom)
- Ingen faceted search eller avansert ranking
- Kun i Early Access Preview (ikke produksjonsgaranti)
- Potensielt dyrere (per-query API-kall til kilde)

**Arkitektur:**

```
[M365 Copilot]
    ↓ (brukerforespørsel)
[MCP Protocol]
    ↓ (OAuth 2.0 token)
[Federated Connector]
    ↓ (API-kall)
[Ekstern datakilde]
    ↓ (live data)
[Respons til Copilot]
```

**Tekniske krav:**
- Ekstern kilde må støtte OAuth 2.0
- API må returnere data i MCP-kompatibelt format
- Admin må enable connector i M365 admin center
- Brukere må autentisere individuelt

**Beslutningsveiledning:**
- ✅ Bruk for PII, financial data, health records
- ✅ Bruk hvis data endrer kontinuerlig (live dashboards)
- ✅ Bruk hvis kildesystemet allerede har robust ACL
- ❌ Ikke bruk hvis du trenger historical search eller trending
- ❌ Ikke bruk hvis kildesystemet har lav availability (< 99%)

---

### Mønster 3: Power Platform Connector (Low-Code Agents)

**Beskrivelse:**
Bruk Power Platform custom connectors til å utvide Copilot Studio-agenter med ISV-data og actions. Lavkodemønster for rask integrasjon med eksisterende APIer.

**Når å bruke:**
- Du bygger **Copilot Studio-agenter** (ikke M365 Copilot-plugins)
- Du trenger **read + write-operasjoner** (ikke bare søk)
- Du har **REST APIer med OpenAPI-spec** (swagger)
- Du vil ha **rask time-to-value** (low-code)
- Du trenger **workflow-integrasjon** (Power Automate flows)

**Fordeler:**
- Lavkode-utvikling (visual designer)
- Støtter både read og write operations
- 500+ forhåndsbygde connectors tilgjengelig (standard og premium)
- Kan bruke Power Automate flows som actions
- **Maker-provided credentials**: Maker kan konfigurere connector med egne credentials — brukere behøver ikke autentisere seg individuelt

**Ulempler:**
- Kun for Copilot Studio (ikke M365 Copilot direkte)
- Krever Power Platform-lisens (standard connectors inkludert, premium connectors krever plan)
- Ikke fullt integrert med M365 Search
- Lavere semantic search-kvalitet enn Graph connectors
- **SSO-begrensning (Verified):** SSO støttes IKKE for connectors når agenten bruker custom Active Directory-autentisering og er deployert til Microsoft Teams — brukere må autentisere manuelt

**Connector-typer:**
- **Standard connectors**: Inkludert i alle Copilot Studio-planer (f.eks. SharePoint, Office 365)
- **Premium connectors**: Krever spesifikk Copilot Studio-plan (f.eks. Salesforce, ServiceNow)
- **Custom connectors**: Bygd fra egne OpenAPI-spesifikasjoner

**Implementering:**

```yaml
# OpenAPI spec for custom connector
openapi: 3.0.0
info:
  title: Contoso CRM Connector
  version: 1.0.0
paths:
  /customers/{id}:
    get:
      summary: Get customer details
      operationId: GetCustomer
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Customer data
          content:
            application/json:
              schema:
                type: object
                properties:
                  name: { type: string }
                  email: { type: string }
                  status: { type: string }
```

**Copilot Studio-integrasjon:**
1. Opprett custom connector i Power Apps (fra OpenAPI)
2. Legg til connector som "tool" i Copilot Studio agent
3. Konfigurer authentication (OAuth, API key, eller maker credentials)
4. Test action i agent-dialog

**Beslutningsveiledning:**
- ✅ Bruk for chat bots med business logic
- ✅ Bruk hvis du allerede har Power Platform
- ✅ Bruk for workflows (create ticket, update record)
- ❌ Ikke bruk for M365 Copilot-extensibility (bruk Graph connector)
- ❌ Ikke bruk kun for read-only search (synced connector er bedre)

---

### Mønster 4: Copilot Connector for People Data

**Beskrivelse:**
Spesialiserte connectors for å berike profiler i Microsoft 365 med HR-data fra eksterne systemer (Workday, SAP SuccessFactors, etc.). Unifier people-data på tvers av kilder.

**Når å bruke:**
- Du vil **berike M365-profiler** med HR-data
- Du har **autoritativ people data** i eksternt system
- Du trenger **unified identity view** (org chart, skills, location)
- Du vil **forbedre Copilot-resonnering** om folk

**Fordeler:**
- Oppdaterer profile cards i M365
- Forbedrer Org Explorer
- Bedre Copilot-svar på "who"-spørsmål
- Synkronisert view (data forblir authoritative i kilde)

**Ulempler:**
- Kun for people data (ikke dokumenter eller andre entiteter)
- Krever identity mapping (Entra ID ↔ HR system)

**Beslutningsveiledning:**
- ✅ Bruk hvis HR-system har mer data enn Entra ID
- ❌ Ikke bruk for non-people data

## Beslutningsveiledning

### Velg riktig connector-type

```
Har du sensitiv data som ikke kan indekseres i M365?
    Ja → Federated Connector
    Nei → ↓

Trenger du write operations eller workflows?
    Ja → Power Platform Connector
    Nei → ↓

Er data people-centric (HR, skills, org chart)?
    Ja → People Data Connector
    Nei → ↓

Er data statisk eller semi-statisk?
    Ja → Synced Connector
    Nei → Federated Connector (hvis live data)
```

### Vanlige feil

| Feil | Konsekvens | Løsning |
|------|------------|---------|
| Indekserer sensitive PII i synced connector | GDPR-brudd, data residency-risiko | Bruk federated connector |
| Bruker federated for static data | Dårlig ytelse, høye API-kostnader | Bruk synced connector |
| Glemmer å sette semantic labels | Dårlig ranking, ingen Context IQ | Legg til `title`, `url`, `iconUrl` |
| Feil ACL-modellering | Brukere ser data de ikke skal | Test ACL med ulike brukerroller |
| Ikke planlegger for item quota | Løper tom for quota | Kjøp mer quota eller prioriser innhold |

### Røde flagg

⚠️ **Data residency-risiko:** Synced connectors kopierer data til Microsoft Graph. Hvis kildesystemet er on-prem eller i annet land, kan dette bryte compliance.

⚠️ **Latency i federated connectors:** Hvis kildesystemet har >500ms responstid, vil Copilot oppleves treg.

⚠️ **Bing Custom Search i Copilot Studio:** Bing Custom Search kan brukes som knowledge source i Copilot Studio, men er IKKE tilgjengelig i generativ modus (generative answers node). For Bing Custom Search: bruk klassisk modus med eksplisitt generative answers-node i et topic.

⚠️ **ACL-kompleksitet:** Hvis kildesystemet har finkornet ACL (document-level, paragraph-level), kan det være vanskelig å modellere i Graph connector.

⚠️ **Item quota-kostnad:** 1 million items koster ~$5000/år (varierer). Plan for volumet.

## Integrasjon med Microsoft-stakken

### Hvor Copilot connectors brukes

| Microsoft-produkt | Connector-type | Bruksscenario |
|-------------------|----------------|---------------|
| **Microsoft 365 Copilot** | Synced, Federated | Grounding for Copilot-svar (citations) |
| **Microsoft Search** | Synced | Søk på Office.com, Bing at Work, SharePoint |
| **Context IQ (Outlook)** | Synced | Inline suggestions i epost (/) |
| **Copilot Studio** | Power Platform | Custom agents, workflows |
| **Profile cards** | People Data | Berike profilkort med HR-data |

### Integrasjon med Semantic Kernel

Semantic Kernel kan bruke Graph connectors som **data sources** for RAG-mønster:

```csharp
// Semantic Kernel + Graph Connector
var kernel = Kernel.CreateBuilder()
    .AddAzureOpenAIChatCompletion(deploymentName, endpoint, apiKey)
    .Build();

// Hent data fra Graph connector via Microsoft Graph API
var graphClient = new GraphServiceClient(credentials);
var searchResults = await graphClient.Search.Query(new SearchRequestBody
{
    Requests = new List<SearchRequest>
    {
        new SearchRequest
        {
            EntityTypes = new List<EntityType> { EntityType.ExternalItem },
            Query = new SearchQuery { QueryString = "remote work policy" },
            From = 0,
            Size = 5
        }
    }
}).PostAsync();

// Bruk resultater som context i Semantic Kernel
var context = string.Join("\n", searchResults.Value[0].HitsContainers[0].Hits.Select(h => h.Summary));
var result = await kernel.InvokePromptAsync($"Basert på dette: {context}\n\nSpørsmål: {userQuestion}");
```

### M365 Copilot + Copilot Studio-kombinasjon

Du kan kombinere:
- **M365 Copilot** med synced/federated connectors (for search/grounding)
- **Copilot Studio agent** som plugin i M365 Copilot (via Power Platform connector)

Dette gir både search-grounding OG business logic i samme Copilot-opplevelse.

## Offentlig sektor (Norge)

### GDPR og Schrems II

**Synced connectors:**
Kopierer data til Microsoft Graph (US eller EU-region avhengig av tenant). Dette kan være Schrems II-problematisk hvis kildesystemet er on-prem eller i Norge.

**Løsning:**
- Bruk **federated connectors** hvis data må forbli i Norge
- Valider at Microsoft 365 tenant er i EU-region (ikke US)
- Vurder on-prem Graph connector agent (for hybrid)

### AI Act-konsekvenser

EU AI Act krever **transparens** om AI-beslutninger. Copilot connectors må logge:
- Hvilken connector ble brukt for et svar?
- Hvilke items ble returnert (audit trail)?
- Har brukeren tilgang til kildedata?

Microsoft Graph har innebygd **audit logging** for connector-queries.

### Forvaltningsloven §13a (automatiserte vedtak)

Hvis Copilot-svar brukes til **vedtak i offentlig sektor**, må:
- Kilde-data være verifiserbar (citations)
- Copilot-svar ikke være eneste grunnlag (menneske må validere)
- Synced connectors være bedre enn federated (audit trail i Graph)

### Datasuverenitet

**Kritisk:** Offentlig sektor må verifisere:
- Hvor er Microsoft Graph datasenteret? (EU vs US)
- Kan data forlate Norge? (compliance-vurdering)
- Hvilke Microsoft-underleverandører har tilgang?

**Anbefaling for DDT:**
- **Synced connectors** kun for ikke-sensitive data (public policies, FAQs)
- **Federated connectors** for sensitive data (saksdokumenter, brukerdata)
- **On-prem connector agent** for høyeste data sovereignty

## Kostnad og lisensiering

### Synced Connector-kostnader

| Komponent | Kostnad | Basis |
|-----------|---------|-------|
| **Item quota (base)** | Inkludert | 500-10 000 items per M365 Copilot-lisens (varierer) |
| **Ekstra quota** | ~$5/1000 items/år | Per indexed item |
| **Development** | Gratis | Graph API er inkludert i M365-lisenser |
| **Connector agent** | Gratis | Hvis du bruker Microsoft SDK |

**Estimering:**
- 10 000 policies → ~$50/år (hvis utover base quota)
- 1 million documents → ~$5000/år

### Federated Connector-kostnader

Ingen item quota (ingen indeksering), men:
- **API-kostnader** til kildesystem (per query)
- **Latency-kostnad** (brukere venter på svar)

### Power Platform Connector-kostnader

- **Power Apps/Automate-lisens** påkrevd ($20-40/bruker/måned)
- **Premium connectors** kan ha ekstra kostnad
- **API-kall** til eksternt system (variabelt)

### Optimaliseringstips

1. **Synced connectors:**
   - Bruk `isRetrievable: false` for properties som ikke trengs i resultater
   - Crawl kun nødvendige dokument-typer (filtrer ut bilder, store filer)
   - Bruk incremental crawl fremfor full crawl

2. **Federated connectors:**
   - Cache API-respons i kildesystem (reduser redundante kall)
   - Implementer rate limiting på kildesystem-API

3. **Power Platform connectors:**
   - Bruk "maker-provided credentials" for å unngå per-user auth
   - Kombiner flere API-kall i én action (reduser round-trips)

## For arkitekten (Cosmo)

### Spørsmål å stille

1. **Data-sensitivitet:**
   "Er dataene sensitive nok til at de ikke kan indekseres i Microsoft 365?" (GDPR, PII, Schrems II)

2. **Data-dynamikk:**
   "Hvor ofte endrer dataene seg? Timer, dager, eller måneder?" (Synced vs Federated)

3. **Tilgangsmodell:**
   "Har kildesystemet finkornet ACL (document-level), eller er det org-wide?" (ACL-kompleksitet)

4. **Integrasjonsmål:**
   "Er målet søk (M365 Copilot) eller workflow (Copilot Studio)?" (Connector-type)

5. **Volumestimering:**
   "Hvor mange items skal indekseres? 1000, 100 000, eller 1 million?" (Quota-planlegging)

6. **Kildesystem-API:**
   "Har kildesystemet REST API med OAuth 2.0?" (Federated/Power Platform feasibility)

7. **Compliance-krav:**
   "Er det juridiske begrensninger på hvor data kan lagres?" (Data residency)

8. **Kostnadsbudsjett:**
   "Hva er budsjettet for item quota og API-kall?" (TCO-analyse)

### Fallgruver per modenhetsnivå

**Begynner (pilot):**
- ❌ Starter med custom connector (komplisert). Start med Microsoft-leverte connectors først.
- ❌ Indekserer alt (quota-sprekk). Start med 100-1000 items.
- ❌ Glemmer å teste ACL. Alltid test med restricted-user.

**Middels (produksjon):**
- ❌ Ikke planlegger for schema changes. Schema er vanskelig å endre etter deployment.
- ❌ Ikke overvåker crawl failures. Sett opp alerting i M365 admin center.
- ❌ Hardcoder credentials. Bruk Entra ID managed identity eller Key Vault.

**Avansert (enterprise-scale):**
- ❌ Ikke optimaliserer for latency. Federated connectors må ha <500ms responstid.
- ❌ Ikke planlegger for multi-geo. Hvis organisasjon er i flere land, trenger du multi-geo strategy.
- ❌ Ikke integrerer med Purview. Connector-data må inkluderes i Purview DLP policies.

### Anbefalinger per modenhetsnivå

**Pilot (1-3 måneder):**
1. Start med **synced connector** til SharePoint eller knowledge base (Microsoft-levert)
2. Test med 100-500 items
3. Valider ACL med 3-5 test-brukere
4. Mål Copilot-respons-kvalitet (feedback survey)

**Produksjon (3-12 måneder):**
1. Bygg **custom synced connector** til primary line-of-business system
2. Skalér til 10 000-100 000 items
3. Implementér incremental crawl (hver time/dag)
4. Sett opp Purview-integrasjon (DLP, retention)

**Enterprise (12+ måneder):**
1. Kombiner **synced** (documents) + **federated** (live data)
2. Integrér med Semantic Kernel for custom RAG
3. Multi-geo deployment
4. Custom connector SDK for on-prem sources

## Kilder og verifisering

**Microsoft Learn (Verified - MCP-research):**
- [Microsoft 365 Copilot connectors overview](https://learn.microsoft.com/en-us/microsoftsearch/connectors-overview) — Authoritative oversikt over connector-typer
- [Work with the Copilot connectors API](https://learn.microsoft.com/en-us/graph/connecting-external-content-connectors-api-overview) — Graph API-detaljer
- [Search and retrieval patterns (Copilot Studio)](https://learn.microsoft.com/en-us/microsoft-copilot-studio/guidance/architecture/search-retrieval-patterns) — Arkitekturmønstre
- [Power Platform Connectors in Copilot Studio](https://learn.microsoft.com/en-us/microsoft-copilot-studio/advanced-connectors) — Low-code connector-integrasjon
- [Copilot connectors for people data](https://learn.microsoft.com/en-us/graph/peopleconnectors) — People data-spesialisering
- [Federated connectors overview](https://learn.microsoft.com/en-us/microsoftsearch/federated-connectors-overview) — MCP-baserte connectors (preview)

**Code samples (Verified - MCP):**
- [Microsoft Graph connector samples](https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/samples#microsoft-365-copilot-connector-samples) — TypeScript, .NET, Python-implementeringer

**Konfidensnivå per seksjon:**
- Introduksjon, Kjernekomponenter, Arkitekturmønstre: **Verified** (fra MCP-research)
- Offentlig sektor, Kostnad: **Baseline** (modellkunnskap + Microsoft-prising)
- Semantic Kernel-integrasjon: **Baseline** (custom pattern, ikke Microsoft-dokumentert)

---

*Denne referansen er oppdatert basert på Microsoft Learn-dokumentasjon per april 2026. Federated connectors er i preview og kan endre seg før GA. Maker-provided credentials og SSO-begrensninger verifisert MCP 2026-04-10.*
