6. Anslut T-Berg DU API och verifiera objektet
Ämnet har nu ett objekt-ID och ett värde för påverkan, men objektet har ännu inte verifierats mot underhållssystemet. Nu importerar vi T-Berg DU API som ett anpassat anslutningsprogram, skapar en anslutning och använder objektinformationen i ämnet.
När kapitlet är klart har du:
- importerat och konfigurerat T-Berg DU API
- skapat en tidsbegränsad testnyckel och anslutit den till connectorn
- testat objektuppslaget med
LO-PU-017 - verifierat ämnets
AssetIdmot T-Berg D&U - beräknat prioritet från påverkan och objektets kritikalitet
- byggt och kontrollerat
MaintenanceContexti testchatten - tagit bort det tillfälliga kontrollmeddelandet och lämnat underlaget tillbaka till agenten
- uppdaterat agentens instruktioner med en riktig referens till ämnet
Spara efter varje färdig nod
När du är tillbaka i ämnesbyggaren väljer du Spara efter varje färdig nod. Då blir det enklare att hitta var ett fel uppstod.
Del 1: Öppna anpassade anslutningsprogram
Stå vid plustecknet under Sätt vald påverkan, efter att grenarna har gått ihop. Välj Lägg till ett verktyg och öppna fliken Verktyg längst till höger.

Välj Lägg till ett verktyg.

I verktygspanelen väljer du Visa fler under Lägg till ny MCP.

Välj sedan Lägg till ny Anpassat anslutningsprogram.

Power Apps öppnas på sidan Anpassade anslutningsprogram.

Välj Ny anpassad anslutning uppe till höger. I menyn väljer du Importera en OpenAPI-fil.

Del 2: Importera OpenAPI-filen
Ladda först ner kursens OpenAPI-fil:
Ladda ner tberg-du-connector.swagger.json
I dialogrutan anger du namnet:
T-Berg DU API
Välj Importera och öppna filen tberg-du-connector.swagger.json. När filnamnet visas i dialogrutan väljer du Fortsätt.

OpenAPI-filen är kontraktet mellan Power Platform och T-Berg D&U. Den beskriver adressen, autentiseringen, åtgärderna och vilka fält som skickas och returneras. Därför behöver du inte skriva in varje API-detalj för hand.
Del 3: Kontrollera den allmänna informationen
Efter importen öppnas connectorns konfiguration på fliken Allmänt.
Ladda upp connectorns ikon
Ladda ner T-Berg D&U-loggan:
Välj Ladda upp och använd den nedladdade PNG-filen. Ange sedan bakgrundsfärgen:
#fefefe
Kontrollera att Anslut via lokal datagateway inte är markerad. API:t är publikt tillgängligt över HTTPS och använder därför ingen lokal gateway.
Följande värden ska visas:
| Fält | Värde |
|---|---|
| Beskrivning | Ger Lysernos driftassistent tillgång till objektinformation i T-Berg D&U och skapar godkända arbetsordrar. Samma tidsbegränsade T-Berg-testnyckel används för REST och MCP. |
| Schema | HTTPS |
| Värd | ca-tberg-du-api.orangesmoke-45b4d851.swedencentral.azurecontainerapps.io |
| Bas-URL | /api |

Välj Säkerhet.
Del 4: Konfigurera API-nyckeln
Kontrollera att autentiseringstypen är API-nyckel. Om ett annat värde visas väljer du API-nyckel i listan.
Ändra Parameteretikett från det generiska namnet API-nyckel till:
T-Berg-testnyckel
Kontrollera samtidigt följande värden:
| Fält | Värde |
|---|---|
| Parameternamn | x-workshop-key |
| Parameterplats | Sidhuvud |

Parameteretiketten är namnet deltagaren ser när anslutningen skapas. x-workshop-key är det riktiga HTTP-headernamnet som API:t läser. Ändra inte headernamnet.
Välj Definition.
Del 5: Kontrollera åtgärderna
OpenAPI-filen har skapat två åtgärder. Vi ändrar inget här, men går igenom båda för att se vad connectorn kan göra.
GetAsset
Välj GetAsset under Åtgärder. Under Allmänt ska följande information visas:
| Fält | Värde |
|---|---|
| Sammanfattning | Verifiera och hämta objekt |
| Åtgärds-ID | GetAsset |
Beskrivning:
Hämtar objektets namn, plats, kritikalitet, SLA, serviceform och kompetenskrav. Använd åtgärden för att verifiera ett objekt-ID mot objektregistret.

Under Förfrågan ser du att åtgärden använder GET och tar emot ett obligatoriskt assetId i sökvägen.

Under Svar finns 200 när objektet hittas och 404 när det saknas. Den gröna markeringen under Validering visar att definitionen är giltig.

CreateWorkOrder
Välj CreateWorkOrder under Åtgärder. Under Allmänt ska följande information visas:
| Fält | Värde |
|---|---|
| Sammanfattning | Skapa arbetsorder |
| Åtgärds-ID | CreateWorkOrder |
Beskrivning:
Skapar en arbetsorder från ett verifierat och bekräftat underlag. Arbetsytan bestäms av testnyckeln och ska inte skickas i anropet.

Under Förfrågan ser du att åtgärden använder POST och skickar arbetsorderns uppgifter i anropets body.

Under Svar finns statuskoderna 201, 400, 401 och 429. Valideringen ska vara grön även här.

Vi använder inte CreateWorkOrder i ämnet. Den skrivande åtgärden läggs senare i ett agentflöde med användarbekräftelse.
Del 6: Skapa connectorn
Hoppa över fliken Kod och öppna Testa. Sidan visar att connectorn måste skapas innan den kan testas.

Välj Skapa anslutning uppe till höger. När connectorn har skapats visas teståtgärderna, men ingen anslutning är vald ännu.

Innan du väljer Ny anslutning behöver du en testnyckel från T-Berg D&U.
Del 7: Skapa en T-Berg-testnyckel
Öppna T-Berg D&U i en ny flik:
På startsidan bekräftar du att du är en människa.

När verifieringen visar Klart! väljer du Skapa testnyckel.

Kopiera testnyckeln direkt. Du använder samma nyckel till webbgränssnittet, REST-connectorn och MCP-servern.

Spara nyckeln medan den visas
Testnyckeln ger åtkomst till din privata arbetsyta. Klistra inte in den i kursmaterial, skärmbilder eller meddelanden. Om den försvinner kan du skapa en ny.
En testnyckel gäller i 24 timmar. Den har en gräns på 500 API- och MCP-anrop och 20 arbetsordrar. Varje nyckel får en separat arbetsyta som rensas automatiskt.
Välj Öppna min arbetsyta. På översikten ser du bland annat nyckelns återstående giltighetstid och status för systemet.

Se vad testmiljön innehåller
Under Objektregister finns produktionsobjekten som connectorn kan verifiera.

Under Arbetsordrar visas arbetsordrarna för din testyta. Nya arbetsordrar som agenten skapar senare hamnar här.

Under Tekniker finns teknikernas kompetenser, tillgänglighet och planerade arbete.

Under Felhistorik finns tidigare fel och åtgärder för objekten.

De här delarna används mer i nästa kapitel. Nu går vi tillbaka till connectorn och ansluter testnyckeln.
Del 8: Skapa anslutningen
Gå tillbaka till fliken Testa i Power Apps. Om ingen anslutning visas väljer du Ny anslutning.

Klistra in nyckeln i fältet T-Berg-testnyckel och välj Skapa.

När anslutningen har skapats skickas du till sidan Anslutningar. T-Berg DU API ska ha statusen Anslutet.

Power Apps går inte automatiskt tillbaka till connectorns testflik. Vi öppnar connectorn igen.
Välj Mer i vänstermenyn.

Om Anpassade anslutningsprogram inte redan är fäst väljer du Upptäck allt. Under området Data väljer du Anpassade anslutningsprogram.

Leta upp T-Berg DU API och välj pennan under Åtgärder för att redigera connectorn.

Connectorns inställningar öppnas igen.

Öppna fliken Testa. Kontrollera att den skapade anslutningen är vald under Markerad anslutning.

Del 9: Testa objektuppslaget
Välj åtgärden GetAsset och ange följande assetId:
LO-PU-017
Välj Teståtgärd.

Ett lyckat anrop ger status 200. I meddelandetexten ska du bland annat se objektets namn, plats, kritikalitet och kompetenskrav.

Connectorn kan läsa från T-Berg D&U
Testet visar att OpenAPI-definitionen, anslutningen och testnyckeln fungerar tillsammans. Vi kan nu använda samma åtgärd i ämnet.
Del 10: Lägg till objektuppslaget i ämnet
Gå tillbaka till Copilot Studio och öppna ämnet Rapportera utrustningsfel.
Om panelen från början av kapitlet fortfarande är öppen stänger du den. Välj sedan plustecknet efter att påverkan-grenarna har gått ihop och gå till Lägg till ett verktyg > Anslutningsprogram.
Sök efter:
T-Berg DU API
Välj åtgärden Verifiera och hämta objekt.

Åtgärden läggs till som en ny nod. Öppna nodens meny med tre punkter och välj Egenskaper.

Under Initiering kan du kontrollera åtgärd och anslutning. Standardvärdena kan behållas.

Koppla objekt-ID som indata
Öppna fliken Indata. Vid assetId öppnar du variabelväljaren. Sök efter:
AssetId
Välj ämnesvariabeln under Anpassad.

Indatan ska nu visa AssetId med typen String.

Döp om utdata
Öppna fliken Utdata. Välj recordvariabeln GetAsset.

Byt namn på variabeln till:
VerifiedAsset
Behåll användningen Ämne (begränsad omfattning). Variabeln används bara i det här ämnet och ska inte vara global.

Stäng egenskaperna och välj Spara.
Del 11: Beräkna prioritet
Lägg till Variabelhantering > Ange ett variabelvärde under connectornoden.

Byt namn på noden till:
Beräkna prioritet
Öppna Ange variabel och välj Skapa en ny variabel.

Variabeln får först ett tillfälligt namn.

Öppna variabelns egenskaper och byt namn till:
Priority

Under Till värde öppnar du fliken Formel och expanderar formelfönstret.

Klistra in följande formel:
Switch(
Topic.ImpactLevel,
"Säkerhetsrisk",
"P1",
"Stoppad",
If(
Or(
Topic.VerifiedAsset.criticality = "Hög",
Topic.VerifiedAsset.criticality = "Kritisk"
),
"P1",
"P2"
),
"Begränsad",
If(
Or(
Topic.VerifiedAsset.criticality = "Hög",
Topic.VerifiedAsset.criticality = "Kritisk"
),
"P2",
"P3"
),
"Liten",
If(
Or(
Topic.VerifiedAsset.criticality = "Hög",
Topic.VerifiedAsset.criticality = "Kritisk"
),
"P3",
"P4"
),
"P2"
)
Formelfönstret ska visa typen String och en grön bock vid Utdata. Välj Infoga.

Noden visar nu att Priority får sitt värde från Switch-formeln.

Regeln använder både användarens påverkan och objektets verifierade kritikalitet. Agenten ska därför inte räkna om eller gissa prioriteten senare.
Välj Spara.
Varför använder vi Switch?
Switch lägger prioritetsregeln i ämnet. Samma påverkan och kritikalitet ger då alltid samma prioritet, oavsett hur agenten formulerar eller tolkar ärendet.
Del 12: Skapa MaintenanceContext
Lägg till ännu en nod med Variabelhantering > Ange ett variabelvärde.
Byt namn på noden till:
Skapa verifierat underlag
Öppna Ange variabel och sök efter:
MaintenanceContext
Välj den befintliga utdatavariabeln.

Under Till värde öppnar du fliken Formel och expanderar formelfönstret.

Klistra in följande formel:
JSON(
{
assetId: Topic.VerifiedAsset.assetId,
assetName: Topic.VerifiedAsset.name,
location: Topic.VerifiedAsset.location,
criticality: Topic.VerifiedAsset.criticality,
slaHours: Topic.VerifiedAsset.slaHours,
requiredSkill: Topic.VerifiedAsset.requiredSkill,
serviceType: Topic.VerifiedAsset.serviceType,
faultSummary: Topic.FaultAnalysis.structuredOutput.faultSummary,
errorCode: Coalesce(
Topic.FaultAnalysis.structuredOutput.errorCode,
""
),
impactLevel: Topic.ImpactLevel,
priority: Topic.Priority
},
JSONFormat.Compact
)
Formeln samlar de värden som nästa verktyg behöver i en kompakt JSON-sträng. Välj Infoga när formelfönstret visar typen String och en grön bock.

Välj Spara.
Varför samlar vi värdena som JSON?
MaintenanceContext ska lämna flera verifierade värden till agenten i en enda utdata. JSON ger varje värde ett fast fältnamn, så att agenten kan använda rätt uppgift i nästa verktygsanrop utan att tolka om underlaget.
Del 13: Undersök MaintenanceContext
Innan ämnet lämnar underlaget till agenten ska vi kontrollera att MaintenanceContext innehåller rätt värden. Lägg därför till en tillfällig nod med Skicka ett meddelande direkt under Skapa verifierat underlag.

Byt namn på noden till:
Undersök MaintenanceContext
Välj variabelknappen {x} i meddelandefältet. Sök efter:
MaintenanceContext
Välj ämnesvariabeln Topic.MaintenanceContext under Anpassad.

Meddelandet ska nu bestå av variabeln MaintenanceContext. Välj Spara.
Varför visar vi MaintenanceContext i chatten?
Kontrollmeddelandet visar exakt vad ämnet lämnar vidare. Då kan du upptäcka saknade eller felaktiga värden innan nästa verktyg använder underlaget. Noden är bara till för testet och tas bort när kontrollen är klar.
Del 14: Lämna ärendet till agenten
Lägg till en nod under kontrollmeddelandet med Variabelhantering > Ange ett variabelvärde.

Byt namn på noden till:
Lämna ärendet till agenten
Öppna Ange variabel och sök efter:
answered
Välj ämnets befintliga utdatavariabel.

Under Till värde öppnar du fliken Formel och anger:
false

Kontrollera att formelfönstret visar typen Boolean och en grön bock. Välj sedan Infoga.
Avslutningen ska nu innehålla det tillfälliga kontrollmeddelandet mellan Skapa verifierat underlag och Lämna ärendet till agenten.

answered = false betyder inte att ämnet misslyckades. Det betyder att ämnet har verifierat underlaget och att agenten ska fortsätta med nästa del av processen.
Välj Spara.
Del 15: Uppdatera agentens instruktioner
Gå tillbaka till agentens Översikt och öppna instruktionerna. Lägg in följande block före avsnittet Regler:
Felanmälan
Använd /Rapportera utrustningsfel när användaren rapporterar fel, skada, läckage, driftstopp, onormalt ljud eller en annan avvikelse på produktionsutrustning.
När ämnet har körts ska du läsa dess answered-utdata:
- Om värdet är true har ämnet redan hanterat begäran. Upprepa inte svaret.
- Om värdet är false ska du fortsätta med MaintenanceContext som verifierat underlag.
Ändra eller gissa inte värden som ämnet har verifierat eller räknat fram.
Skriv / efter ordet Använd och välj ämnet Rapportera utrustningsfel i listan.

Ämnesnamnet visas som ett markerat objekt när referensen har infogats. Då pekar instruktionen på det riktiga ämnet i stället för att bara nämna namnet som vanlig text.

Välj Spara.
Del 16: Testa och ta bort kontrollmeddelandet
Ladda ner de två testbilderna:
Ladda ner bilden med läsbart objekt-ID
Ladda ner bilden med oläsbart objekt-ID
Öppna testchatten och skriv:
En pump fungerar inte som den ska.
Bifoga först bilden med läsbart objekt-ID. Agenten ska hitta LO-PU-017 och inte fråga vilket objekt felet gäller. Kör sedan testet igen med bilden där objekt-ID:t inte går att läsa. Då ska agenten fråga efter objekt-ID innan den fortsätter.
Fortsätt tills ämnet har verifierat objektet och påverkan.
Kontrollmeddelandet ska först visa en kompakt JSON-sträng med MaintenanceContext. Därefter kan agenten sammanfatta samma underlag med läsbara namn och värden. Formuleringen kan variera, men kontrollera särskilt att objekt-ID, felbeskrivning, påverkan, prioritet, kompetenskrav och serviceform stämmer.

När värdena stämmer går du tillbaka till ämnet. Öppna menyn på noden Undersök MaintenanceContext och välj Ta bort.

Välj Spara. Den råa JSON-strängen ska inte visas för användaren i det färdiga flödet. Agenten får fortfarande samma värden genom ämnets utdata MaintenanceContext.
Objektet verifieras nu mot T-Berg D&U
Ämnet kan verifiera objekt-ID, hämta objektdata, beräkna prioritet och lämna ett strukturerat MaintenanceContext till agenten. I nästa kapitel ansluter vi T-Berg DU MCP för att hämta felhistorik, tekniker och reservdelar.