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>
24 KiB
Power Automate and Copilot Studio Integration
Last updated: 2026-06-19 | Verified: MCP 2026-06-19 Status: GA Category: Copilot Extensibility & Integration
Introduksjon
Power Automate og Copilot Studio utgjør sammen en kraftig low-code/no-code integrasjonsplattform for Microsoft AI-stakken. Denne integrasjonen lar agenter i Copilot Studio kalle automatiserte arbeidsflyter (flows) for å utføre komplekse operasjoner, integrere med eksterne systemer, og orkestrere prosesser som går utover agentens innebygde kapabiliteter.
Integrasjonen opererer på to nivåer:
- Agent Flows — native flows skapt i Copilot Studio, optimalisert for agentbruk og fakturert via Copilot Studio-kapasitet
- Power Automate Cloud Flows — tradisjonelle flows som kan konverteres til agent flows eller kalles direkte fra Copilot Studio
Begge typer flows kan trigges fra agenter, enten gjennom eksplisitte topic-baserte handlinger eller via generativ orkestrering hvor agenten selv velger når en flow skal kjøres.
Confidence marker: Verified (MCP microsoft-learn 2026-06-19)
Kjernekomponenter
1. Agent Flows
Agent flows er flows skapt og forvaltet direkte i Copilot Studio. De tilbyr en sømløs maker-opplevelse og forenkler agentutviklingen.
| Egenskap | Beskrivelse |
|---|---|
| Opprettelse | Natural language (via Copilot) eller visuell designer |
| Triggers | Instant (manuell), schedule-basert, eller event-drevet |
| Hovedtrigger | "When an agent calls the flow" (med "Respond to the agent"-action) — gjør flow tilgjengelig som tool i agenter |
| Actions | AI-kapabiliteter (LLM, document processing, natural language reply), Human-in-the-loop, Built-in tools, Connectors (700+) |
| Fakturering | Copilot Studio capacity per action (ikke Power Automate). Test i embedded chat er GRATIS. |
| Kapasitetsgrense | Når prepaid Copilot Studio-kapasitet er oppbrukt, blokkeres nye flow-kjøringer (running flows fullfører normalt) |
| Solution-support | Ja — inkluderer drafts, versioning, export/import |
Nøkkelfordeler:
- Konsistent eksekvering — deterministisk, samme input gir samme output
- Enkel workflow-opprettelse — AI-drevne forslag for triggers og actions
- End-to-end synlighet — design, monitor og innsikt i én grensesnitt
Capacity-beregning:
- Flow fra topic: 1 Classic answer + agent flow actions
- Flow fra generativ orkestrering: 1 Autonomous action + agent flow actions
- Test i embedded chat (fra flow designer eller agentens test chat): INGEN capacity-forbruk
- Microsoft 365 Copilot-lisensierte brukere og test-kjøringer påvirkes ikke av kapasitetsgrenser
2. Power Automate Cloud Flows
Tradisjonelle cloud flows kan integreres med Copilot Studio på to måter:
| Metode | Beskrivelse | Fakturering |
|---|---|---|
| Direkte kall | Bruk trigger "When an agent calls the flow" i eksisterende cloud flow | Power Automate license |
| Konvertering til agent flow | Konverter cloud flow til agent flow i Power Automate-portalen | Copilot Studio capacity |
Konverteringskrav:
- Flow må være i en solution
- Copilot Studio capacity må være tilgjengelig i environment
- Konvertering er one-way (kan ikke reverseres pga. faktureringsendring)
Konverteringsprosess:
Power Automate portal → Velg flow → Edit →
Endre plan til "Copilot Studio" → Save → Bekreft
3. Triggers og Actions
Triggers:
| Type | Beskrivelse | Bruksområde |
|---|---|---|
| Instant | Manuell kjøring on-demand | Agent-initierte handlinger |
| Schedule | Tidsstyrt (daglig, ukentlig, månedlig) | Batch-prosessering, rapporter |
| Event | Respons på andre events (email, Dataverse-endringer) | Automatisk prosessering |
Actions:
| Kategori | Eksempler | Connector-support |
|---|---|---|
| AI capabilities | Generate text, run prompt, process documents, natural language reply | AI Builder, Azure AI |
| Human-in-the-loop | Approvals, manual input | Power Automate approvals |
| Built-in tools | Loops, branching, data operations, date/time, child flows | Native |
| Connectors | M365 services (SharePoint, Teams, Outlook), 3rd-party (Salesforce, ServiceNow), custom | 700+ |
Arkitekturmønstre
Mønster 1: Topic-basert Flow Calling
Bruksområde: Deterministisk flow-kall når bruker trigger spesifikk topic.
Implementering:
- Opprett agent flow med "When an agent calls the flow" trigger (+ "Respond to the agent"-action)
- Definer inputs (String, Number, Boolean, etc.)
- I Copilot Studio topic: legg til "Call an action" node
- Map topic-variabler til flow inputs
- Bruk flow outputs i "Message" node
Eksempel:
Topic: "Get weather forecast"
Trigger phrases: "will it rain", "today's forecast", "get weather"
Flow:
1. Question node → Ask city (Var1)
2. Question node → Ask ZIP code (Var2)
3. Action node → Call "Get weather forecast" flow
- Input: City = Var1, ZIP = Var2
- Output: location, day_summary, chance_of_rain
4. Message node → "Today's forecast for {location}: {day_summary}. Chance of rain is {chance_of_rain}%"
Fordeler:
- Full kontroll over når flow kalles
- Deterministisk oppførsel
- Enkel feilhåndtering
Ulemper:
- Må opprette topic for hver flow
- Mindre fleksibel enn generativ orkestrering
Mønster 2: Generativ Orkestrering med Tools
Bruksområde: La agenten selv velge når og hvordan flows skal brukes basert på konversasjonskontekst.
Implementering:
- Opprett agent flow med "When an agent calls the flow" trigger (+ "Respond to the agent"-action)
- Publish flow
- I Copilot Studio: gå til Tools → Add a tool → Flow
- Velg flow og konfigurer:
- Name og Description — beskrivelse som hjelper orchestrator å forstå når flow skal brukes
- Inputs — hvordan agenten skal fylle variable values
- Completion — hva agenten skal gjøre etter flow fullføres
Eksempel:
Flow: "Get weather forecast"
Description: "Get today's weather forecast at a provided city name or zip code."
Agent orchestrator ser bruker input: "What's the weather like in Seattle?"
→ Velger automatisk "Get weather forecast" tool
→ Fyller input: City = "Seattle", ZIP = null
→ Returnerer resultat til bruker
Fordeler:
- Naturlig samtaleflyt
- Agenten velger riktig flow basert på kontekst
- Mindre vedlikehold av topics
Ulemper:
- Mindre deterministisk
- Krever god flow description for orchestrator
Mønster 3: Multi-Service Integration Pattern
Bruksområde: Orkestrere data fra flere M365-tjenester eller 3rd-party systemer.
Implementering:
- Flow med multiple actions:
- Connector action 1 → Hent data fra system A (f.eks. SharePoint)
- Connector action 2 → Hent data fra system B (f.eks. Dynamics 365)
- Data operation → Kombiner/transformer data
- Connector action 3 → Skriv resultat til system C (f.eks. Teams)
- Return verdier til agent for presentasjon
Eksempel (A1 Travel case):
Topic: "Create travel policy"
1. Agent samler inn inputs via spørsmål (company, travel notice days, reimbursements)
2. Call flow:
- Populate Word template (SharePoint connector)
- Generate unique filename (Compose action)
- Save document to SharePoint (SharePoint connector)
- Email document to client (Outlook connector)
- Return confirmation to agent
3. Agent bekrefter til bruker: "Travel policy created and sent to {email}"
Fordeler:
- Sentral integrasjonslogikk
- Gjenbrukbar på tvers av agenter
- Auditlogging i Power Automate
Ulemper:
- Kompleksitet øker med antall systemer
- Feilhåndtering må håndtere multiple failure points
Mønster 4: Approval Workflows
Bruksområde: Human-in-the-loop godkjenningsprosesser.
Implementering:
- Flow trigger: "When an agent calls the flow"
- Action: "Start and wait for an approval"
- Approval type: Approve/Reject eller Custom responses
- Assignees: dynamisk eller statisk
- Condition: hvis approved → utfør handling
- Return approval result til agent
Eksempel:
Topic: "Request expense approval"
1. Agent samler inn expense details (amount, category, receipt)
2. Call approval flow:
- Start approval → Send til manager
- Wait for response
- If approved → Create expense record i Dynamics 365
- Return approval status
3. Agent informerer bruker: "Your expense request was {approved/rejected}"
Fordeler:
- Standardisert approval UI (Teams/Outlook/Power Automate app)
- Compliance tracking
- Integrert med M365 notification system
Ulemper:
- Synkron venting kan time out (bruk async pattern for lange approvals)
- Krever Power Automate approval license
Mønster 5: Event-driven Automation
Bruksområde: Automatisk trigger agent-handlinger basert på eksterne events.
Implementering:
- Cloud flow med event trigger (f.eks. "When a new email arrives")
- Condition/filter for relevante events
- Call Copilot Studio agent via connector eller HTTP
- Agent prosesserer event og returnerer resultat
- Flow tar videre handling basert på agent output
Eksempel (Expense Agent):
Trigger: "When a new email arrives" (Outlook)
Filter: Subject contains "Receipt" OR has attachment
1. Extract receipt attachment
2. Call Copilot Studio agent "Expense Entry Agent"
- Pass receipt content
- Agent extracts expense details via AI Builder
3. If extraction successful:
- Create expense line i Dynamics 365
- Send confirmation email
4. Else:
- Flag for manual review
Fordeler:
- Proaktiv automatisering
- Reduserer manuell datainnlegging
- Skalerer til høyt event-volum
Ulemper:
- Krever robust feilhåndtering
- Event-filter må være presis for å unngå false positives
Beslutningsveiledning
Når velge Agent Flows vs Cloud Flows?
| Kriterie | Agent Flows | Cloud Flows |
|---|---|---|
| Primært bruk | Agent-interaksjoner, konversasjonsflyt | Bakgrunnsprosessering, event-drevet automatisering |
| Opprettelse | Copilot Studio designer eller natural language | Power Automate designer eller Copilot |
| Fakturering | Copilot Studio capacity | Power Automate license (med mindre konvertert) |
| Orchestrering | Optimalisert for agent orchestrator | Optimalisert for flow orchestrator |
| Solution support | Ja | Ja |
| Best for | Low-code makers, agent-sentrerte workflows | Pro-code developers, enterprise-wide automation |
Når bruke Topic-basert vs Generativ Orkestrering?
| Kriterie | Topic-basert | Generativ Orkestrering |
|---|---|---|
| Kontroll | Høy — eksakt kontroll over når flow kalles | Middels — agent orchestrator velger |
| Fleksibilitet | Lav — må opprette topic per flow | Høy — én flow, mange bruksområder |
| Kompleksitet | Høy — mange topics å vedlikeholde | Lav — færre topics, mer intelligens i agent |
| Bruksområde | Kritiske prosesser (approvals, compliance) | Generell assistent-funksjonalitet (søk, rapporter) |
| Feilhåndtering | Eksplisitt i topic | Implisitt i orchestrator |
Connector Valg
| Connector-type | Eksempler | Bruksområde |
|---|---|---|
| Microsoft First-party | SharePoint, Teams, Outlook, Dynamics 365 | M365-integrasjon, enterprise workflows |
| Certified 3rd-party | Salesforce, ServiceNow, Zendesk, GitHub | CRM, ITSM, customer support |
| Premium | Azure AI Services, SQL Server, SAP | AI-prosessering, database, ERP |
| Custom | HTTP, Azure Functions, custom connectors | Proprietære systemer, custom APIs |
Lisensiering:
- Standard connectors: inkludert i Power Automate license
- Premium connectors: krever Premium license (ca. $15/user/month)
- Custom connectors: krever Premium license
Integrasjon med Microsoft-stakken
Power Platform Ecosystem
┌─────────────────────────────────────────────────────────┐
│ Power Platform │
├─────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌───────────┐ │
│ │ Copilot │───▶│ Power │───▶│ Dataverse │ │
│ │ Studio │ │ Automate │ │ │ │
│ │ (Agents) │◀───│ (Flows) │◀───│ (Data) │ │
│ └──────────────┘ └──────────────┘ └───────────┘ │
│ │ │ │ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ AI Builder (AI Models) │ │
│ └──────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘
│ │ │
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ M365 Copilot │ │ Power Apps │ │ Power BI │
└──────────────┘ └──────────────┘ └──────────────┘
Integrasjonspunkter:
-
Copilot Studio → Power Automate
- Call flows as tools (generativ orkestrering)
- Call flows from topics (topic-basert)
- Convert cloud flows to agent flows
-
Power Automate → Copilot Studio
- Trigger agent conversations via connector
- Pass data til agenter via HTTP
- Event-driven agent invocation
-
Dataverse som felles datalager
- Flows lagrer resultater i Dataverse
- Agenter leser fra Dataverse
- Solution-aware flows og agenter i samme solution
-
AI Builder integrasjon
- Flows kaller AI Builder models (document processing, text analysis)
- Agenter bruker AI Builder via flows
- Training data lagres i Dataverse
M365 Copilot Actions
Power Automate flows kan også gjøres tilgjengelige som Actions i M365 Copilot:
| Action-type | Beskrivelse | Eksempel |
|---|---|---|
| Power Automate flow action | Trigger flow fra M365 Copilot chat | "List my pending approvals" |
| Connector action | Bruk certified connector direkte | "Get my open Salesforce cases" |
| Prompt action | AI Builder prompt | "Summarize this document" |
| Conversational action | Copilot Studio agent som action | "Book a meeting room" (via agent) |
Deploy-prosess:
- Opprett flow i Power Automate
- Publish flow til solution
- I M365 Admin Center: Integrated Apps → Deploy action
- Brukere får tilgang via M365 Copilot app i Teams
Offentlig sektor (Norge)
Compliance og Datahåndtering
| Krav | Løsning | Notater |
|---|---|---|
| Data residency | EU Data Boundary | Power Automate flows kjører i samme region som environment |
| GDPR | Dataverse compliance | Alle flow-data lagres i Dataverse med GDPR-støtte |
| Auditlogging | Flow run history | 28 dagers run history (standard), lengre med retention policies |
| Access control | Dataverse security roles | Flows arver security context fra kaller |
Godkjenninger og Attestasjon
Offentlig sektor krever ofte formelle godkjenningsprosesser. Power Automate approval-funksjonen støtter:
- Multi-stage approvals — flere godkjenningsnivåer (saksbehandler → avdelingsleder → direktør)
- Parallel approvals — alle må godkjenne samtidig
- First-to-respond — første godkjenner avgjør
- Custom responses — egendefinerte svaralternativer utover Approve/Reject
- Audit trail — komplett logg av hvem som godkjente når
Eksempel bruksområder:
- Reiseregning-godkjenning (som i Expense Agent)
- Innkjøpsrekvisisjoner
- Dokumentfremdrift i saksbehandlingssystemer
- HR-prosesser (ferie, permisjon)
Integrasjon med Norske Systemer
| System | Integrasjonsmetode | Notater |
|---|---|---|
| Altinn | Custom connector via HTTP | Krever API-nøkler, premium license |
| ePhorte/Public 360 | Custom connector eller Azure Function relay | Avhenger av leverandør-API |
| NAV-systemer | Custom connector (hvis API tilgjengelig) | Krever samarbeidsavtale |
| Felles datakatalog | HTTP connector | Åpen API, ingen auth |
Kostnad og lisensiering
Power Automate Licensing
| License | Pris (USD/user/måned) | Inkludert |
|---|---|---|
| Per user | $15 | Unlimited flows, standard + premium connectors, 5000 AI Builder credits |
| Per flow | $100 (flat fee) | Unlimited users, dedicated flow, premium connectors |
| Pay-as-you-go | Variabel | Per flow run (ca. $0.60/run for premium) |
Copilot Studio Capacity
| Capacity type | Consumption | Pris (USD) |
|---|---|---|
| Agent flow actions | Per action executed | Inkludert i Copilot Studio license |
| Classic answer | Per message (topic-basert) | 1 message per flow call fra topic |
| Autonomous action | Per generative action | 1 action per flow call fra orchestrator |
Eksempel kostnadsberegning:
Scenario: 100 brukere, 1000 flow runs/måned via Copilot Studio agent
| Komponent | Beregning | Kostnad (USD/måned) |
|---|---|---|
| Copilot Studio license | 100 users × $200/user | $20,000 |
| Agent flow actions | 1000 runs × 5 actions/run = 5000 actions | Inkludert i CS license |
| Premium connectors (hvis brukt) | Krever Power Automate Premium | +$1,500 (100 users × $15) |
| Total | $21,500 |
Kostnadstips:
- Konverter cloud flows til agent flows — faktureres via Copilot Studio capacity i stedet for Power Automate license
- Batch operations — kombiner flere actions i én flow run
- Caching — unngå redundante API-kall ved å lagre resultater i Dataverse
- Use Standard connectors — unngå Premium license-krav hvor mulig
For arkitekten (Cosmo)
Når anbefale Power Automate + Copilot Studio?
Bruk denne integrasjonen når:
- Agenten må integrere med M365-tjenester (SharePoint, Teams, Outlook)
- Komplekse multi-step workflows som går utover agentens native kapabiliteter
- Godkjenningsprosesser med human-in-the-loop
- Event-driven automatisering (email-trigger, Dataverse-endringer)
- Gjenbruk av eksisterende Power Automate flows
- Low-code/no-code løsning er prioritert (ikke Semantic Kernel)
Vurder alternativer når:
- Pro-code er foretrukket → Semantic Kernel + Azure Functions
- Kompleks AI-orkestrering kreves → Microsoft Foundry
- Real-time web API-kall holder → Copilot Studio HTTP connector (uten flow)
- Kun Dataverse CRUD → Copilot Studio Dataverse connector (uten flow)
Arkitekturspørsmål å stille
| Spørsmål | Hva det avdekker |
|---|---|
| "Hvilke systemer skal agenten integrere med?" | Connector-behov, premium license-krav |
| "Trenger dere godkjenningsprosesser?" | Approval workflow pattern |
| "Skal dette trigges av events eller brukerinteraksjon?" | Event-driven vs topic-based pattern |
| "Har dere eksisterende Power Automate flows?" | Konvertering til agent flows |
| "Hva er toleransen for non-deterministisk oppførsel?" | Topic-based vs generativ orkestrering |
| "Hvor mange brukere vil kjøre flows daglig?" | Kostnadsberegning, license type |
Design Patterns Matrix
| Bruksmønster | Agent Flow | Cloud Flow | Topic-basert | Generativ Ork. |
|---|---|---|---|---|
| Enkel M365-integrasjon | ✅ | ✅ | ✅ | ✅ |
| Kompleks multi-service | ✅ | ✅ | ✅ | ⚠️ (kan være uforutsigbar) |
| Approval workflows | ✅ | ✅ | ✅ | ❌ (krever deterministisk flow) |
| Event-driven (email, etc.) | ❌ | ✅ | ❌ | ❌ |
| Batch processing | ❌ | ✅ | ❌ | ❌ |
| Real-time agent interaction | ✅ | ⚠️ (kan time out) | ✅ | ✅ |
Symboler:
- ✅ Anbefalt
- ⚠️ Fungerer, men med forbehold
- ❌ Ikke egnet
Beste Praksis
-
Flow design:
- Hold flows små og fokuserte (single responsibility)
- Bruk child flows for gjenbrukbar logikk
- Implementer robust error handling (Try-Catch-Finally pattern)
- Bruk Compose actions for debugging (log intermediate values)
-
Agent integration:
- Skriv tydelige flow descriptions for orchestrator (generativ ork.)
- Map inputs/outputs eksplisitt i topics (topic-based)
- Test flows uavhengig før agent-integrasjon
- Bruk Flow Checker for validering
-
Performance:
- Unngå loops med ukjent antall iterasjoner (timeout risk)
- Batch API-kall hvor mulig (reduce connector calls)
- Bruk parallel branches for uavhengige actions
- Implementer caching for data som endres sjelden
-
Security:
- Bruk managed identities for Azure-ressurser
- Lagre secrets i Azure Key Vault (ikke hardkode i flows)
- Review connection references regelmessig
- Implementer least privilege for service accounts
-
Governance:
- Alltid opprett flows i solutions (ikke utenfor)
- Bruk environment strategies (dev/test/prod)
- Dokumenter flows med comments i designer
- Implementer naming conventions (f.eks.
[Environment] - [Flow Name] - [Version])
Troubleshooting Checkliste
| Problem | Mulig årsak | Løsning |
|---|---|---|
| Flow trigger ikke | Trigger condition ikke oppfylt | Review inputs og trigger conditions |
| Flow timeout | Lang-kjørende actions | Bruk async pattern eller split flow |
| Agent finner ikke flow | Flow ikke published | Publish flow og refresh i Copilot Studio |
| Connection failure | Utløpt credentials | Re-authenticate connection i Power Automate |
| Capacity overage | For mange agent flow actions | Review flow design, batch operations |
Kilder og verifisering
Microsoft Learn dokumentasjon (Verified 2026-02, re-verified MCP 2026-06-19):
-
Agent flows and workflows overview (Re-verified MCP 2026-06-19) https://learn.microsoft.com/en-us/microsoft-copilot-studio/flows-overview
-
Call an agent flow https://learn.microsoft.com/en-us/microsoft-copilot-studio/advanced-use-flow
-
Use Agent Flows in Copilot Studio (Training) https://learn.microsoft.com/en-us/training/modules/use-agent-flows/
-
Cloud flows https://learn.microsoft.com/en-us/power-platform/release-plan/2024wave2/power-automate/cloud-flows
-
Create a cloud flow in Power Automate https://learn.microsoft.com/en-us/power-automate/get-started-logic-flow
-
Use actions to extend Microsoft 365 Copilot https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/overview-business-applications
Real-world case studies:
-
A1 Inteligência em Viagens case study (Travel policy automation) https://learn.microsoft.com/en-us/power-platform/guidance/case-studies/boost-efficiency-experience-case-study
-
Dynamics 365 Field Service sample data agent https://learn.microsoft.com/en-us/dynamics365/guidance/resources/field-service-deploy-copilot-studio-create-sample-data
Code samples:
- Natural language flow creation (Copilot)
- "When an agent calls the flow" trigger setup (+ "Respond to the agent"-action)
- Topic-based flow calling pattern
- Approval workflow with Power Automate
Confidence level: Verified — all information sourced from official Microsoft Learn documentation via microsoft-learn MCP server (2026-02, re-verified 2026-06-19).