Gå till innehållet

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.

Plustecknet vid Verktyg i agentens högra panel

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

Arbetsflöde väljs i dialogrutan Lägg till ett verktyg

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

Ett nytt agentflöde med utlösare och svarsnod

Byt namn på arbetsflödet till:

Hantera showroompåfyllning

Arbetsflödet har fått namnet 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.

Utlösaren När en agent anropar arbetsflödet

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

Tillgängliga indatatyper med Number markerat

Skapa först ItemID.

Namn:

ItemID

Beskrivning:

SharePoint-ID för den valda produktvarianten i listan Centrallager. Använd inte SKU eller ProductModelID.

ItemID har lagts till som numerisk indata

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

En andra numerisk indata läggs till

Namn:

Quantity

Beskrivning:

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

ItemID och Quantity är klara och typen Text kan väljas

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.

ShowroomName har lagts till som textindata

Lägg till ännu en indata av typen Text.

Namn:

ShowroomType

Beskrivning:

Verifierad showroomtyp: Showroomstudio eller Flagship.

ShowroomType har lagts till som textindata

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.

Utlösaren innehåller ItemID, Quantity, ShowroomName, ShowroomType och Country


Del 3: Hämta den valda produktvarianten

Välj plustecknet mellan utlösaren och svarsnoden och sedan Lägg till ett steg.

Ett nytt steg läggs till efter utlösaren

Sök efter:

Hämta objektet

Välj SharePoint-åtgärden med det namnet.

SharePoint-åtgärden Hämta objektet i åtgärdslistan

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

Konfigurationen för SharePoint-åtgärden Hämta objektet

Byt namn på noden till:

Hämta vald produktvariant

SharePoint-noden har fått namnet Hämta vald produktvariant

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

Lyserno Produktportal och Centrallager är valda

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.

ItemID från utlösaren väljs som SharePoint-objektets ID

Kontrollera den färdiga konfigurationen.

Hämta vald produktvariant är färdigkonfigurerad


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.

Hämta vald produktvariant testas med ItemID 1

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

Testet returnerar produktvariantens värden från Centrallager

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

Hämta vald produktvariant ligger mellan utlösaren och svarsnoden


Del 5: Beräkna kvarvarande disponibelt saldo

Lägg till ett steg efter Hämta vald produktvariant. Välj åtgärden Variabel.

Variabel väljs i listan över åtgärder

Byt namn på noden till:

Beräkna värden och initiera resultat

Den första variabeln ska heta:

RemainingAvailableQuantity

Noden Beräkna värden och initiera resultat med en tom variabel

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

RemainingAvailableQuantity får typen Float

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

Värdefältet växlas till uttrycksläge

Beräkningen är OnHandQuantity − ReservedQuantity − Quantity.

Börja med att skriva den nästlade funktionen:

sub(sub())

Den nästlade funktionen sub sub har skrivits in

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.

OnHandQuantity väljs från Hämta vald produktvariant

Skriv ett kommatecken efter värdet.

OnHandQuantity är den första parametern i den innersta sub-funktionen

Öppna dynamiskt innehåll och sök efter:

ReservedQuantity

Välj värdet från samma SharePoint-nod.

ReservedQuantity väljs från Hämta vald produktvariant

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

OnHandQuantity minus ReservedQuantity är färdigbyggt

Öppna dynamiskt innehåll och sök efter:

Quantity

Välj värdet från utlösaren.

Quantity väljs från When an agent calls the flow

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.

Det färdiga uttrycket för RemainingAvailableQuantity

Kontrollera variabelns namn, typ och värde.

RemainingAvailableQuantity är färdigkonfigurerad

Välj Initiera variabel. Ange följande namn:

ResultStatus

Välj typen String och lämna värdet tomt.

ResultStatus har lagts till som en tom sträng

Välj Initiera variabel igen och ange namnet:

ResultMessage

Välj typen String och lämna värdet tomt.

Noden innehåller RemainingAvailableQuantity, ResultStatus och ResultMessage

Välj Initiera variabel igen och ange namnet:

TotalProductPrice

Välj typen Float.

TotalProductPrice får typen Float

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

Värdefältet för TotalProductPrice växlas till uttrycksläge

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

mul()

Funktionen mul har skrivits in

Placera markören mellan parenteserna och öppna dynamiskt innehåll. Sök efter:

CurrentUnitPrice

Välj värdet från Hämta vald produktvariant.

CurrentUnitPrice väljs 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.

Quantity väljs som den andra parametern i mul-funktionen

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.

TotalProductPrice är färdigkonfigurerad


Del 6: Lägg till villkorsnoden

Lägg till ett steg efter variabelnoden och välj Om/annars.

Om annars väljs i listan över åtgärder

Byt namn på noden till:

Avgör standardprocess eller manuell granskning

Villkorsnoden har lagts till i arbetsflödet

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

Namnet på den första villkorsgrenen kan ändras

Ange:

Standard – svensk showroomstudio

Kontrollera att operatorn mellan raderna är AND.

Den första grenen heter Standard svensk showroomstudio


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.

ShowroomType väljs som den första egenskapen

Behåll operatorn Är lika med.

Operatorn Är lika med används för showroomtypen

Ange värdet:

Showroomstudio

ShowroomType ska vara lika med Showroomstudio

Lägg till en rad och öppna dynamiskt innehåll. Sök efter:

Country

Välj värdet från utlösaren.

Country väljs som nästa egenskap

Behåll operatorn Är lika med.

Operatorn Är lika med används för Country

Ange värdet:

Sverige

Country ska vara lika med Sverige

Lägg till en tredje rad och öppna dynamiskt innehåll. Sök efter:

Quantity

Välj värdet från utlösaren.

Quantity väljs för den övre mängdgränsen

Byt operator till Mindre än eller lika med.

Operatorn Mindre än eller lika med väljs

Ange värdet:

5

Quantity ska vara mindre än eller lika med 5

Lägg till ännu en rad och sök efter:

Quantity

Välj värdet från utlösaren.

Quantity väljs för den undre mängdgränsen

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

Operatorn Större än eller lika med väljs för den undre mängdgränsen

Ange värdet:

1

Quantity ska vara större än eller lika med 1

Lägg till en femte rad och öppna dynamiskt innehåll. Sök efter:

RemainingAvailableQuantity

Välj variabeln under Variables.

RemainingAvailableQuantity väljs från Variables

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

Operatorn Större än eller lika med väljs för lagerbufferten

Ange värdet:

2

Den svenska showroomstudions fem villkor är färdiga

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.

En ny villkorsgren kan läggas till efter den svenska showroomstudion


Del 8: Konfigurera svenskt flagship-showroom

Byt namn på den nya grenen från Branch 2 till:

Standard – svenskt flagship-showroom

Den andra grenen kan byta namn

Klicka på blixtikonen i fältet Egenskap. Sök efter:

ShowroomType

Välj värdet från utlösaren.

ShowroomType väljs för flagship-grenen

Behåll operatorn Är lika med.

Operatorn Är lika med används för showroomtypen

Ange värdet:

Flagship

ShowroomType ska vara lika med Flagship

Lägg till en rad och öppna dynamiskt innehåll. Sök efter:

Country

Välj värdet från utlösaren.

Country väljs för flagship-grenen

Behåll operatorn Är lika med.

Operatorn Är lika med används för Country

Ange värdet:

Sverige

Country ska vara lika med Sverige

Lägg till en tredje rad och öppna dynamiskt innehåll. Sök efter:

Quantity

Välj värdet från utlösaren.

Quantity väljs för flagships övre mängdgräns

Välj operatorn Mindre än eller lika med.

Operatorn Mindre än eller lika med väljs för Quantity

Ange värdet:

10

Quantity ska vara mindre än eller lika med 10

Lägg till ännu en rad och sök efter:

Quantity

Välj värdet från utlösaren.

Quantity väljs för den undre mängdgränsen

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

Operatorn Större än eller lika med väljs för Quantity

Ange värdet:

1

Quantity ska vara större än eller lika med 1

Lägg till en femte rad och öppna dynamiskt innehåll. Sök efter:

RemainingAvailableQuantity

Välj variabeln under Variables.

RemainingAvailableQuantity väljs från Variables

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

Operatorn Större än eller lika med väljs för det disponibla saldot

Ange värdet:

0

Det disponibla saldot efter reservationen ska vara minst 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.

En tredje villkorsgren kan läggas till efter flagship-grenen


Del 9: Konfigurera internationell showroomstudio

Byt namn på Branch 3 till:

Standard – internationell showroomstudio

Den tredje grenen kan byta namn

Klicka på blixtikonen i fältet Egenskap. Sök efter:

ShowroomType

Välj värdet från utlösaren.

ShowroomType väljs för den internationella grenen

Behåll operatorn Är lika med.

Operatorn Är lika med används för showroomtypen

Ange värdet:

Showroomstudio

ShowroomType ska vara lika med Showroomstudio

Lägg till en rad och öppna dynamiskt innehåll. Sök efter:

Country

Välj värdet från utlösaren.

Country väljs för den internationella grenen

Byt operator till Inte lika med.

Operatorn Inte lika med väljs för Country

Ange värdet:

Sverige

Country ska inte vara lika med Sverige

Lägg till en tredje rad och öppna dynamiskt innehåll. Sök efter:

Quantity

Välj värdet från utlösaren.

Quantity väljs för den internationella mängdgränsen

Välj operatorn Mindre än eller lika med.

Operatorn Mindre än eller lika med väljs för Quantity

Ange värdet:

3

Quantity ska vara mindre än eller lika med 3

Lägg till ännu en rad och sök efter:

Quantity

Välj värdet från utlösaren.

Quantity väljs för den undre mängdgränsen

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

Operatorn Större än eller lika med väljs för Quantity

Ange värdet:

1

Quantity ska vara större än eller lika med 1

Lägg till en femte rad och öppna dynamiskt innehåll. Sök efter:

RemainingAvailableQuantity

Välj variabeln under Variables.

RemainingAvailableQuantity väljs för lagerbufferten

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

Operatorn Större än eller lika med väljs för RemainingAvailableQuantity

Ange värdet:

2

Den internationella showroomstudions fem villkor är färdiga

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.

Villkorsnoden innehåller tre standardgrenar 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.