8. Skapa agentflödet
Agenten kan nu hitta en produkt, kontrollera lagret och bedöma om en begäran passar standardprocessen. Nästa steg är att bygga arbetsflödet som hämtar produktvarianten på nytt och kontrollerar aktuellt saldo samt reglerna för antal och lagerbuffert när användaren vill gå vidare.
Arbetsflödet ska senare kunna reservera det önskade antalet eller skicka begäran för manuell granskning. I den här första delen skapar du flödet, definierar dess indata, hämtar produktvarianten och bygger villkorslogiken.
När den här delen är klar har du:
- skapat arbetsflödet Hantera showroompåfyllning
- lagt till de fem värden som agenten ska skicka
- hämtat rätt produktvariant från Centrallager
- beräknat kvarvarande disponibelt saldo och totalt produktpris
- byggt tre grenar för standardprocessen
- lämnat övriga giltiga begäranden till grenen för manuell granskning
Skillen och arbetsflödet kontrollerar olika delar
I kursens lösning ansvarar skillen för att produkten är tillåten för vanlig showroompåfyllning. Arbetsflödet hämtar produktvarianten på nytt och kontrollerar aktuellt saldo samt reglerna för antal och lagerbuffert innan något ändras. Det utgår från att agenten skickar ett positivt heltal. En produktionslösning bör även kontrollera SalesStatus, ReplenishmentCode och att Quantity är ett positivt heltal direkt i arbetsflödet.
Del 1: Skapa ett arbetsflöde
Gå till fliken Bygg för Lyserno Produktassistent. Välj plustecknet vid Verktyg i panelen till höger.

Välj Lägg till och sedan Arbetsflöde.

Copilot Studio öppnar ett nytt agentflöde med en utlösare och en svarsnod.

Byt namn på arbetsflödet till:
Hantera showroompåfyllning

Del 2: Lägg till flödets indata
Öppna utlösaren När en agent anropar arbetsflödet. Namnet hör till utlösartypen och kan inte ändras.

Välj Lägg till indata och börja med typen Number.

Skapa först ItemID.
Namn:
ItemID
Beskrivning:
SharePoint-ID för den valda produktvarianten i listan Centrallager. Använd inte SKU eller ProductModelID.

Välj Lägg till indata igen och välj Number.

Namn:
Quantity
Beskrivning:
Antal enheter som användaren har bekräftat. Måste vara ett positivt heltal.

Välj Lägg till indata, välj Text och skapa ShowroomName.
Namn:
ShowroomName
Beskrivning:
Verifierat exakt namn på det showroom som ska ta emot produkterna.

Lägg till ännu en indata av typen Text.
Namn:
ShowroomType
Beskrivning:
Verifierad showroomtyp: Showroomstudio eller Flagship.

Avsluta med en indata av typen Text.
Namn:
Country
Beskrivning:
Verifierat mottagarland: Sverige eller Norge.
Kontrollera att alla fem värden har rätt namn, typ och beskrivning.

Del 3: Hämta den valda produktvarianten
Välj plustecknet mellan utlösaren och svarsnoden och sedan Lägg till ett steg.

Sök efter:
Hämta objektet
Välj SharePoint-åtgärden med det namnet.

Åtgärden behöver anslutning, webbplatsadress, listnamn och objektets ID.

Byt namn på noden till:
Hämta vald produktvariant

Välj Lyserno Produktportal under Webbplatsadress och Centrallager under Listnamn.

Klicka i fältet ID och öppna dynamiskt innehåll. Sök efter:
ItemID
Välj värdet under When an agent calls the flow.

Kontrollera den färdiga konfigurationen.

Del 4: Testa SharePoint-noden
Öppna fliken Kör nod. Ange följande testvärde för ItemID:
1
Övriga indata behövs inte för att testa just den här noden.

Kör noden och kontrollera att ett objekt returneras från Centrallager. Utdata ska bland annat innehålla produktnamn, SKU, OnHandQuantity och ReservedQuantity.

Gå tillbaka till arbetsytan när testet är klart.

Del 5: Beräkna kvarvarande disponibelt saldo
Lägg till ett steg efter Hämta vald produktvariant. Välj åtgärden Variabel.

Byt namn på noden till:
Beräkna värden och initiera resultat
Den första variabeln ska heta:
RemainingAvailableQuantity

Välj typen Float. SharePoints nummerfält returneras som decimaltal även när värdena visas som heltal.

Välj ikonen Växla till uttrycksläge vid fältet Värde.

Beräkningen är OnHandQuantity − ReservedQuantity − Quantity.
Börja med att skriva den nästlade funktionen:
sub(sub())

Placera markören i den innersta funktionen och öppna dynamiskt innehåll. Sök efter:
OnHandQuantity
Välj värdet från Hämta vald produktvariant.

Skriv ett kommatecken efter värdet.

Öppna dynamiskt innehåll och sök efter:
ReservedQuantity
Välj värdet från samma SharePoint-nod.

Flytta markören utanför den innersta funktionens avslutande parentes och skriv ett nytt kommatecken.

Öppna dynamiskt innehåll och sök efter:
Quantity
Välj värdet från utlösaren.

Det färdiga uttrycket ska motsvara följande:
@sub(sub(outputs('Hämta_vald_produktvariant')?['body/field_6'],outputs('Hämta_vald_produktvariant')?['body/field_7']),triggerOutputs()?['body/number_1'])
Du kan bygga uttrycket med dynamiskt innehåll enligt stegen ovan eller klistra in hela uttrycket i uttrycksläget.

Kontrollera variabelns namn, typ och värde.

Välj Initiera variabel. Ange följande namn:
ResultStatus
Välj typen String och lämna värdet tomt.

Välj Initiera variabel igen och ange namnet:
ResultMessage
Välj typen String och lämna värdet tomt.

Välj Initiera variabel igen och ange namnet:
TotalProductPrice
Välj typen Float.

Välj ikonen Växla till uttrycksläge vid fältet Värde.

Beräkningen är CurrentUnitPrice × Quantity. Börja med att skriva funktionen:
mul()

Placera markören mellan parenteserna och öppna dynamiskt innehåll. Sök efter:
CurrentUnitPrice
Välj värdet från Hämta vald produktvariant.

Skriv ett kommatecken efter värdet. Öppna sedan dynamiskt innehåll och sök efter:
Quantity
Välj värdet från When an agent calls the flow.

Det färdiga uttrycket ska motsvara följande:
@mul(outputs('Hämta_vald_produktvariant')?['body/field_5'],triggerOutputs()?['body/number_1'])
Kontrollera att variabeln heter TotalProductPrice, har typen Float och innehåller båda parametrarna.

Del 6: Lägg till villkorsnoden
Lägg till ett steg efter variabelnoden och välj Om/annars.

Byt namn på noden till:
Avgör standardprocess eller manuell granskning

Villkorsnoden innehåller en första gren med namnet If. Klicka på namnet för att ändra det.

Ange:
Standard – svensk showroomstudio
Kontrollera att operatorn mellan raderna är AND.

Del 7: Konfigurera svensk showroomstudio
Grenen ska bara matcha en svensk showroomstudio när antalet är mellan 1 och 5 och minst 2 exemplar blir kvar disponibla.
Klicka på blixtikonen i fältet Egenskap. Sök efter:
ShowroomType
Välj värdet från utlösaren.

Behåll operatorn Är lika med.

Ange värdet:
Showroomstudio

Lägg till en rad och öppna dynamiskt innehåll. Sök efter:
Country
Välj värdet från utlösaren.

Behåll operatorn Är lika med.

Ange värdet:
Sverige

Lägg till en tredje rad och öppna dynamiskt innehåll. Sök efter:
Quantity
Välj värdet från utlösaren.

Byt operator till Mindre än eller lika med.

Ange värdet:
5

Lägg till ännu en rad och sök efter:
Quantity
Välj värdet från utlösaren.

Byt operator till Större än eller lika med.

Ange värdet:
1

Lägg till en femte rad och öppna dynamiskt innehåll. Sök efter:
RemainingAvailableQuantity
Välj variabeln under Variables.

Byt operator till Större än eller lika med.

Ange värdet:
2

Den färdiga grenen ska innehålla:
| Egenskap | Operator | Värde |
|---|---|---|
ShowroomType |
Är lika med | Showroomstudio |
Country |
Är lika med | Sverige |
Quantity |
Mindre än eller lika med | 5 |
Quantity |
Större än eller lika med | 1 |
RemainingAvailableQuantity |
Större än eller lika med | 2 |
Välj Lägg till en gren.

Del 8: Konfigurera svenskt flagship-showroom
Byt namn på den nya grenen från Branch 2 till:
Standard – svenskt flagship-showroom

Klicka på blixtikonen i fältet Egenskap. Sök efter:
ShowroomType
Välj värdet från utlösaren.

Behåll operatorn Är lika med.

Ange värdet:
Flagship

Lägg till en rad och öppna dynamiskt innehåll. Sök efter:
Country
Välj värdet från utlösaren.

Behåll operatorn Är lika med.

Ange värdet:
Sverige

Lägg till en tredje rad och öppna dynamiskt innehåll. Sök efter:
Quantity
Välj värdet från utlösaren.

Välj operatorn Mindre än eller lika med.

Ange värdet:
10

Lägg till ännu en rad och sök efter:
Quantity
Välj värdet från utlösaren.

Välj operatorn Större än eller lika med.

Ange värdet:
1

Lägg till en femte rad och öppna dynamiskt innehåll. Sök efter:
RemainingAvailableQuantity
Välj variabeln under Variables.

Byt operator till Större än eller lika med.

Ange värdet:
0

Flagship-grenen ska alltså innehålla:
| Egenskap | Operator | Värde |
|---|---|---|
ShowroomType |
Är lika med | Flagship |
Country |
Är lika med | Sverige |
Quantity |
Mindre än eller lika med | 10 |
Quantity |
Större än eller lika med | 1 |
RemainingAvailableQuantity |
Större än eller lika med | 0 |
Välj sedan Lägg till en gren.

Del 9: Konfigurera internationell showroomstudio
Byt namn på Branch 3 till:
Standard – internationell showroomstudio

Klicka på blixtikonen i fältet Egenskap. Sök efter:
ShowroomType
Välj värdet från utlösaren.

Behåll operatorn Är lika med.

Ange värdet:
Showroomstudio

Lägg till en rad och öppna dynamiskt innehåll. Sök efter:
Country
Välj värdet från utlösaren.

Byt operator till Inte lika med.

Ange värdet:
Sverige

Lägg till en tredje rad och öppna dynamiskt innehåll. Sök efter:
Quantity
Välj värdet från utlösaren.

Välj operatorn Mindre än eller lika med.

Ange värdet:
3

Lägg till ännu en rad och sök efter:
Quantity
Välj värdet från utlösaren.

Välj operatorn Större än eller lika med.

Ange värdet:
1

Lägg till en femte rad och öppna dynamiskt innehåll. Sök efter:
RemainingAvailableQuantity
Välj variabeln under Variables.

Välj operatorn Större än eller lika med.

Ange värdet:
2

Den färdiga grenen ska innehålla:
| Egenskap | Operator | Värde |
|---|---|---|
ShowroomType |
Är lika med | Showroomstudio |
Country |
Inte lika med | Sverige |
Quantity |
Mindre än eller lika med | 3 |
Quantity |
Större än eller lika med | 1 |
RemainingAvailableQuantity |
Större än eller lika med | 2 |
Alla andra giltiga begäranden fortsätter genom den automatiska Annars-grenen. I nästa del använder vi den grenen för manuell granskning och kopplar standardgrenarna till reservationen.
Kontrollera att noden innehåller de tre namngivna standardgrenarna och grenen Annars.

Flödets indata och beslut är klara
Arbetsflödet kan nu hämta rätt produktvariant, räkna ut kvarvarande disponibelt saldo och totalt produktpris samt avgöra om begäran uppfyller någon av standardprocessens tre regelkombinationer. Ingen lagerpost har ändrats ännu.