Agentvariabler anvendes i en enkelt brugersession. Du angiver, hvilke variable der skal behandles som agentvariabler for at kunne skelne mellem dem fra variable på emneniveau.
Oprette en global variabel
Du kan oprette en global variabel ved at ændre omfanget af ethvert emne.
Opret en variabel eller brug Variabler-ruden til at åbne en eksisterende variabel.
Vælg Global (ethvert emne kan få adgang) i ruden Egenskaber for variabel.
Variabelnavnet tildeles en præfiksstreng, Global.
, for at adskille det fra variable på emneniveau. Variablen UserName
vises som Global.UserName
.
Gem emnet.
Navnet på en global variabel skal være entydigt på tværs af alle emner. Hvis der er tale om en konflikt, skal du omdøbe variablen, før du gemmer emnet.
Bruge globale variabler
Når du sammensætter en agentmeddelelse i en meddelelsesnode eller en spørgsmålsnode, skal du vælge ikonet {x} til at vise de variabler, der er tilgængelige i emnet. Globale variabler vises under fanen Brugerdefineret sammen med alle emnevariabler. Variabler sorteres i alfabetisk rækkefølge.
Søg efter alle emner ved hjælp af en global variabel
Når du har oprettet en global variabel, kan du se, hvor den først gange er defineret, og hvilke andre emner der bruger den. Dette kan være nyttigt, hvis du arbejder på en ny agent, eller hvis du har flere variable og komplekse emneforgreninger.
Vælg en global variabel i oprettelseslærredet, eller åbn ruden Variabler, og vælg en global variabel.
I ruden Egenskaber for variabel i sektionen Reference skal du vælge et af de emner, hvor variablen bruges, for at gå direkte til det pågældende emne og den pågældende node.
Globale variablers livscyklus
Værdien for en global variabel vil som standard vare ved, indtil sessionen slutter. Noden Ryd variable værdier nulstiller værdierne for globale variabler og bruges i systemet Nulstil samtalens systememne. Denne emne kan udløses enten ved omdirigering, eller når brugeren skriver en udløsersætning, f.eks. "Start forfra". I det tilfælde nulstilles alle globale variabler.
Angiv en global variabels værdi fra eksterne kilder
Hvis du vil sikre dig, at agenten starter en samtale med en vis kontekst, kan du initialisere en global variabel med en ekstern kilde. Lad os sige, at webstedet kræver, at brugerne logger på. Da din Helpdesk-medarbejder allerede kender en brugers navn, kan den hilse på kunder ved navn, før de begynder at skrive deres første spørgsmål.
Vælg en global variabel.
Vælg Eksterne kilder kan angive værdier i ruden Egenskaber for variabel.
Angive globale variabler i en integreret agent
Hvis du indlejrer din agent på en simpel webside, kan du føje variabler og deres definitioner til agentens URL-adresse. Eller hvis du vil have lidt mere kontrol, kan du bruge en <script>
-kodeblok til at kalde og bruge variabler via programmering.
Variabelnavnet i forespørgselsstrengen for URL-adressen skal matche navnet for den globale variabel uden præfikset Global.
. F.eks. vil en global variabel Global.UserName
referere til som UserName
i forespørgslen.
I de eksempler, der beskrives her, oprettes der en simpel erklæring for variablerne. I et produktionsscenario kan du som forespørgselsparameter eller variabeldefinition overføre en anden variabel, der allerede har gemt brugerens navn (hvis du f.eks. har et brugernavn i et logonscript).
Tilføj variablerne og deres definitioner til agentens URL-adresse som forespørgselsstrengparametre i formatet botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
.
Eksempel:
Parameternavnet skelner mellem store og små bogstaver. username=Renata
vil også virke i dette eksempel.
Tilføj globale variabler til et brugerdefineret lærred
Du kan også tilføje variablen til et brugerdefineret lærred.
I sektionen <script>
på siden, hvor du har din agent, skal du definere variablerne på følgende måde og erstatte variableName1
med variabelnavnet uden Global.
-præfikset og variableDefinition1
med definitionen. Adskil flere variabler med kommaer (,
).
const store = WebChat.createStore({}, ({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
dispatch({
type: "WEB_CHAT/SEND_EVENT",
payload: {
name: "pvaSetContext",
value: {
"variableName1": "variableDefinition1",
"variableName2": "variableDefinition2"
}
},
});
}
return next(action);
});
I sektionen <script>
skal du kalde store
, når du integrerer din agent, som i følgende eksempel, hvor store
kaldes lige over der, hvor styleOptions
blev kaldt (du skal erstatte BOT_ID
med din agents id):
const BOT_ID = "12345-5678";
const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID;
fetch(theURL)
.then(response => response.json())
.then(conversationInfo => {
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: conversationInfo.token,
}),
store,
styleOptions
},
document.getElementById('webchat')
);
})
.catch(err => console.error("An error occurred: " + err));
Agentvariabler anvendes i en enkelt brugersession. Du angiver, hvilke variabler der skal behandles som agentvariabler for at kunne skelne mellem dem fra variabler på emneniveau.
Angive agentvariabler
Når du har angivet en agentvariabel, er den tilgængelig for alle emner.
Når du vælger knappen {x}
i en meddelelsesnode eller en spørgsmålsnode i forbindelse med, at du opretter en agentmeddelelse, kan du se, at agentvariablen er tilgængelig. Variable sorteres i alfabetisk rækkefølge, så du kan se, at alle agentvariabler er grupperet sammen i menuen for variable, da de alle begynder med agent.
.
Når du bruger en betingelsesnode, en flow-handlingsnode eller en færdighedsnode, kan du også se de agentvariabler, der er tilgængelige her.
Genbruge en variabel på tværs af emner ved at angive den som en agentvariabel
Vælg en hvilken som helst variabel på oprettelseslærredet.
I ruden Egenskaber for variabel under Anvendelse skal du vælge agent (ethvert emne kan få adgang).
Variabelnavnet tildeles en præfiksstreng, agent.
, for at adskille det fra variable på emneniveau. Variablen UserName
vises f.eks. nu som agent.UserName
.
Bemærk
Navnet på en agentvariabel skal være entydigt på tværs af alle emner. Hvis der er tale om en konflikt, skal du omdøbe variablen, før du gemmer ændringen.
Administrer agentvariabler
Når du har oprettet en agentvariabel, kan du se, hvor den først gange er defineret, og hvilke andre emner der bruger den. Dette kan være nyttigt, hvis du arbejder på en ny agent, eller hvis du har flere variable og komplekse emneforgreninger.
Gå til kilden for en agentvariabels definition
Vælg en hvilken som helst variabel på oprettelseslærredet.
I ruden Egenskaber for variabel skal du vælge Gå til kilde.
Dette fører dig til noden i det emne, hvor agentvariablen blev oprettet.
Søg efter alle emner ved hjælp af en agentvariabel
Vælg en hvilken som helst agentvariabel på oprettelseslærredet.
I ruden Egenskaber for variabel i sektionen Anvendt af skal du vælge et af de emner, hvor variablen bruges, for at gå direkte til det pågældende emne og node.
Initialisering af agentvariabel
Hvis en agentvariabel udløses, før den er blevet initialiseret (eller "udfyldt"), udløser agenten automatisk den del af emnet, hvor agentvariablen først defineres, selv når den er i et andet emne, før den returneres til det oprindelige emne. Dette giver agenten mulighed for at få udfyldt alle variable, uden at samtalen afbrydes.
Kunden starter f.eks. samtalen med emnet "Reservation af aftale", hvor der bruges en agentvariabel af typen agent.UserName
. Variablen agent.UserName
er dog først defineret i "Velkomst"-emnet.
Når samtalen når til det punkt i emnet "Reservation af aftale", hvor der henvises til agent.UserName
, vil agenten uden videre blive pivoteret til den spørgsmålsnode, hvor agent.UserName
er angivet først.
Når kunden har besvaret spørgsmålet, vil agenten fortsætte med emnet "Reservation af aftale".
Funktionen for agentvariabel i forbindelse med implementering af handlinger via Power Automate-flow eller -færdigheder
Nogle gange ønsker du måske at bruge et flow eller en færdighed til at initialisere eller udfylde en variabel i en agentrobot.
Når en bruger arbejder sammen med agentrobotten, kan variablen dog være udfyldt på et tidligere tidspunkt i samtalen, eller du har måske allerede angivet variablerne eksternt.
I denne situation kører flowet eller færdigheden stadig og udfylder variablen, hvorved den overskriver, hvad der tidligere var gemt i variablen.
Agentvariablernes livscyklus og nulstilling af værdien
Du har adgang til agentvariabler fra alle emner, og agentvariablens tildelte værdier er de samme i hele sessionen.
Værdien ryddes kun, når agentbrugeren omdirigeres til emnet Start forfra, eller når brugeren udløser dette emne direkte (for eksempel ved at skrive Start forfra). I dette tilfælde nulstilles alle agentvariabler, og de har ingen værdier.
Angiv en agentvariabels værdi fra eksterne kilder
Du kan angive, at en agentvariabel skal initialiseres med en ekstern kilde. Dette giver agenten mulighed for at starte samtalen med noget kontekst.
En kunde åbner f.eks. en agentchat på dit website, og websitet kender allerede kundens navn. Du skal oplyse agenten om brugerens navn, før du starter samtalen, og agenten kan derefter føre en mere intelligent samtale med kunden, uden at det er nødvendigt at bede om navnet igen.
Angiv en agentvariabel fra en ekstern kilde
Vælg en hvilken som helst variabel på oprettelseslærredet.
I ruden Egenskaber for variabel skal du i sektionen Anvendelse markér afkrydsningsfeltet Eksterne kilder kan angive værdier.
Du kan tilføje variablerne og deres definitioner, hvis du blot integrerer din agent på en enkel webside, eller du kan bruge en <script>
-kodeblok til at kalde og bruge variablerne til programmering.
Bemærk
Variabelnavnet i forespørgselsstrengen skal stemme overens med agentens variabel uden agent.
-præfikset. En agentvariabel agent.UserName
skal eksempelvis gengives som UserName=
.
I de eksempler, der beskrives her, oprettes der en simpel erklæring for variablerne. I et produktionsscenario kan du som forespørgselsparameter eller variabeldefinition overføre en anden variabel, der allerede har gemt brugerens navn (hvis du f.eks. har et brugernavn i et logonscript).
Sådan tilføjes variablen til en integreret agent
Tilføj variablerne og deres definitioner til agentens URL-adresse som forespørgselsstrengparametre (i formatet botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
), f.eks.:
Parameternavnet skelner mellem store og små bogstaver. Dette betyder, at username=Renata
også virker i dette eksempel.
I sektionen <script>
på siden, hvor du har din agent, skal du definere variablerne på følgende måde og erstatte variableName1
med variabelnavnet uden agent.
-præfikset og variableDefinition1
med definitionen. Adskil flere variabler med kommaer ,
.
const store = WebChat.createStore({}, ({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
dispatch({
type: "WEB_CHAT/SEND_EVENT",
payload: {
name: "pvaSetContext",
value: {
"variableName1": "variableDefinition1",
"variableName2": "variableDefinition2"
}
},
});
}
return next(action);
});
I sektionen <script>
skal du kalde store
, når du integrerer din agent, som i følgende eksempel, hvor store
kaldes lige over der, hvor styleOptions
blev kaldt (du skal erstatte BOT_ID
med dit id):
const BOT_ID = "12345-5678";
const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID;
fetch(theURL)
.then(response => response.json())
.then(conversationInfo => {
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: conversationInfo.token,
}),
store,
styleOptions
},
document.getElementById('webchat')
);
})
.catch(err => console.error("An error occurred: " + err));
Slette agentvariabler
Når du fjerner en agentvariabel, der bruges i andre emner, markeres referencerne til den pågældende variabel i emnerne som Unknown
.
Du får vist en advarsel om, hvordan du sletter agentvariablen, før du kan bekræfte handlingen.
Noder, der indeholder referencer til den slettede agentvariabel, fortæller dig, at de indeholder en ukendt variabel.
Emner med noder, der indeholder referencer til slettede agentvariabler, kan holde op med at fungere. Kontroller, at du fjerner eller retter alle de emner, der var ved at benytte den slettede variabel, før de udgives.
Afhængigt af agentens godkendelsesopsætning, har du et sæt agentvariabler, der er knyttet til den godkendelsesudbyder, der er tilgængelig for dig. Du kan finde flere oplysninger om, hvilke sæt variabler der er tilgængelige, og hvordan de bruges, i Tilføj brugergodkendelse i emner.
Søge efter alle emner ved hjælp af en agentvariabel i Teams
Vælg en hvilken som helst agentvariabel på oprettelseslærredet.
I ruden Egenskaber for variabel i sektionen Anvendt af skal du vælge et af de emner, hvor variablen bruges, for at gå direkte til det pågældende emne og node.
Slette agentvariabler
Når du fjerner en agentvariabel, der bruges i andre emner, markeres referencerne til den pågældende variabel i emnerne som Unknown
.
Du får vist en advarsel om, hvordan du sletter agentvariablen, før du kan bekræfte handlingen.
Noder, der indeholder referencer til den slettede agentvariabel, fortæller dig, at de indeholder en ukendt variabel.
Emner med noder, der indeholder referencer til slettede agentvariabler, kan holde op med at fungere. Kontroller, at du fjerner eller retter alle de emner, der var ved at benytte den slettede variabel, før de udgives.
Avanceret brug af agentvariabler
Du kan finde flere oplysninger om komplekse og avancerede scenarier, der bruger agentvariabler, herunder godkendelse, eksterne kilder og initialisering, i Microsoft Copilot Studio-webapp-versionen af denne artikel.