Globale variabler gjelder under én enkelt brukerøkt. Du angir hvilke variabler som er globale variabler, for å skille dem fra variabler på emnenivå.
Opprette en global variabel
Du kan opprette en global variabel ved å endre omfanget for en emnevariabel.
Opprett en variabel eller bruk Variabler-ruten til å åpne en eksisterende variabel.
I panelet Egenskaper for variabel velger du Global (alle emner har tilgang).
Variabelnavnet får prefikset Global.
for å skille det fra variabler på emnenivå. Variabelen UserName
vises for eksempel nå som Global.UserName
.
Lagre emnet.
Navnet på en global variabel må være unikt på tvers av alle emner.
Bruke globale variabler
Når du skriver en melding i en meldingsnode eller en spørsmålsnode, velger du {x}-ikonet for å vise variablene som er tilgjengelige for emnet. Globale variabler vises i fanen Egendefinert sammen med eventuelle emnevariabler. Variabler er oppført i alfabetisk rekkefølge.
Finne alle emner ved hjelp av en global variabel
Du finner hvor en global variabel er definert og hvilke andre emner som bruker den. Denne funksjonen kan være nyttig hvis du arbeider med en ny agent, eller hvis du har flere variabler og en kompleks emneforgrening.
Velg den ønskede globale variabelen på redigeringslerretet eller i Variabler-panelet.
I panelet Egenskaper for variabel, i Referanse-delen, velg Vis alle referanser.
Bytt til Annet-fanen, og velg et emne der variabelen brukes til å gå direkte til emnet og noden.
Livssyklusen til globale variabler
Som standard beholdes verdien til en global variabel til økten er slutt. Noden Fjern variabelverdier tilbakestiller verdiene for globale variabler og brukes i systememnet Tilbakestill samtale. Dette emnet kan utløses enten ved omdirigering eller når brukeren skriver inn et utløseruttrykk, for eksempel "Start på nytt". I så fall tilbakestilles alle globale variabler.
Angi en verdi for en global variabel fra eksterne kilder
Hvis du vil forsikre deg om at agent starter en samtale med en kontekst, kan du initialisere en global variabel med en ekstern kilde. La oss si at området krever at brukere logger seg på. Siden agenten allerede kjenner en brukers navn, kan den hilse kunder med navn før de begynner å skrive inn sitt første spørsmål.
Velg en global variabel.
Velg Eksterne kilder kan angi verdier i ruten Egenskaper for variabel.
Angi globale variabler i en innebygd agent
Hvis du bygger inn agenten på en enkel nettside, kan du legge til variabler og tilhørende definisjoner i agentens nettadresse. Hvis du vil ha litt mer kontroll, kan du også bruke en <script>
-kodeblokk til å kalle opp og bruke variabler programmatisk.
Variabelnavnet i spørringsstrengen for nettadressen må samsvare med navnet på den globale variabelen uten Global.
-prefikset. En global variabel Global.UserName
blir for eksempel henvist til som UserName
i spørringen.
Eksemplene nedenfor bruker en grunnleggende deklarasjon for variablene. I et produksjonsscenario kan du inkludere en annen variabel som spørringsparameter eller variabeldefinisjon, som allerede har lagret navnet på brukeren (hvis du for eksempel har brukernavnet fra et påloggingsskript).
Legg til variablene og definisjonene i nettadressen til agenten som spørringsstrengparametere i formatet botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
.
Eksempel:
Det skilles mellom små og store bokstaver i parameternavnet. username=Ana
vil også fungere i dette eksemplet.
Legg til globale variabler i et egendefinert lerret
Du kan også legge til variabelen i et egendefinert lerret.
I <script>
-delen på siden der du har agenten, definerer du variablene som følger, og erstatter variableName1
med variabelnavnet uten Global.
-prefikset og variableDefinition1
for definisjonen. Skill flere variabler med komma (,
).
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 <script>
-delen kaller du store
når du bygger inn agenten, som i følgende eksempel hvor store
kalles like før der styleOptions
kalles (du må erstatte BOT_ID
med ID-en til agenten din):
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));
Globale variabler gjelder under én enkelt brukerøkt. Du angir hvilke variabler som er globale variabler, for å skille dem fra variabler på emnenivå.
Angi globale variabler
Når du har gjort en variabel global, blir den tilgjengelig for alle emner.
Når du velger {x}
-ikonet når du skriver en melding i en meldings- eller spørsmålsnode, ser du alle globale variabler. Variabler er oppført i alfabetisk rekkefølge, og alle globale variabler vises sammen fordi alle starter med bot.
Når du bruker en betingelsesnode, en flythandlingsnode eller en ferdighetsnode, vises også globale variabler som er tilgjengelige der.
Bruk en variabel på nytt på tvers av emner ved å gjøre den til en global variabel
Velg den ønskede variabelen på redigeringslerretet.
I panelet Egenskaper for variabel under Bruk velger du Robot (alle emner har tilgang).
Variabelnavnet markeres med et prefiks bot.
for å skille det fra variabler på emnenivå. Variabelen UserEmail
vises for eksempel nå som bot.UserEmail
.
Notat
Navnet på en global variabel må være unikt på tvers av alle emner.
Administrere globale variabler
Når du har opprettet en global variabel, kan du se hvor den først er definert, og hvilke andre emner som bruker den. Denne funksjonen kan være nyttig hvis du arbeider med en ny agent, eller hvis du har flere variabler og en kompleks emneforgrening.
Gå til kilden for definisjonen av en global variabel
Velg den ønskede variabelen på redigeringslerretet.
I panelet Egenskaper for variabel velger du Gå til kilde.
Denne handlingen fører deg til noden i emnet der den globale variabelen ble opprettet.
Finne alle emner ved hjelp av en global variabel
Velg den ønskede variabelen på redigeringslerretet.
I panelet Egenskaper for variabel i delen Brukt av velger du ett av emnene der variabelen brukes, for å gå direkte til emnet.
Initialisering av global variabel
Hvis en global variabel utløses før den er initialisert (eller "fylt ut"), utløser agenten automatisk delen av emnet der den globale tvariabelen først er definert – selv når den er i et annet emne – før den returneres til det opprinnelige emnet. Denne virkemåten gjør det mulig for agenten å ha alle variablene fylt ut uten å avbryte diskusjonen.
Kunden starter for eksempel diskusjonen på "Avtalebestilling"-emnet, der en global variabel bot.UserName
brukes. Variabelen bot.UserName
defineres imidlertid først i «Velkommen»-emnet.
Når diskusjonen kommer til punktet i emnet «Avtalebestilling» der det refereres til bot.UserName
, vil agenten sømløst gå til spørsmålsnoden der bot.UserName
er først definert.
Etter at kunden har svart på spørsmålet, vil agenten gjenoppta emnet «Avtalebestilling».
Virkemåte for global variabel ved implementering av handlinger via Power Automate-flyter eller -ferdigheter
Noen ganger kan det hende at du bruker en flyt eller ferdighet til å initialisere eller fylle ut en variabel.
Når en bruker samhandler med agenten, kan det imidlertid være at variabelen ble fylt ut på et tidligere tidspunkt i samtalen, eller at du allerede har konfigurert variablene eksternt .
I slike tilfeller vil flyten eller ferdigheten fremdeles kjøre og fylle ut variabelen, og overskrive det som tidligere var lagret i variabelen.
Global variabel-livssyklus og tilbakestilling av verdien
De globale variablene er tilgjengelige fra alle emner, og verdiene beholdes i en økt.
Verdien tømmes bare når agentbrukeren omdirigeres til systememnet Start på nytt, eller når brukeren utløser dette emnet direkte (for eksempel ved å skrive inn "Start på nytt"). I dette tilfellet tilbakestilles alle globale variabler, og de vil ikke ha noen verdi.
Angi en verdi for en global variabel fra eksterne kilder
Du kan angi at en global variabel skal initialiseres fra en ekstern kilde. Med denne handlingen kan agenten starte samtalen med en del kontekst.
En kunde henter for eksempel inn en agentsamtale fra nettstedet ditt, og nettstedet kjenner allerede kundens navn. Du lar agenten få vite navnet på brukeren før den starter samtalen, og agenten kan dermed ha en mer intelligent samtale med kunden uten å måtte spørre etter navnet på nytt.
Angi en global variabel fra en ekstern kilde
Velg en hvilken som helst variabel på redigeringslerretet.
I panelet Egenskaper for variabel i delen Bruk merker du av for Eksterne kilder kan angi verdier.
Du kan legge til variablene og definisjonene hvis du bare bygger inn agenten på en enkel nettside, eller du kan bruke en <script>
-kodeblokk til å kalle og bruke variabler programmatisk.
Notat
Variabelnavnet i spørringsstrengen må samsvare med navnet til den globale variabelen, uten bot.
-prefikset. Den globale variabelen bot.UserEmail
må for eksempel vises som UserEmail=
I eksemplene som beskrives her, lages det en enkel deklarasjon for variablene. I et produksjonsscenario kan du inkludere en annen variabel som spørringsparameter eller variabeldefinisjon, som allerede har lagret navnet på brukeren (hvis du for eksempel har brukernavnet fra et påloggingsskript).
Slik legger du til variabelen i en innebygd agent
Legg til variablene og definisjonene på agentens nettadresse som spørringsstrengparametere (i formatet botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
), for eksempel slik:
Det skilles mellom små og store bokstaver i parameternavnet. Dette betyr at useremail=Ana@contoso.com
også fungerer i dette eksemplet.
I <script>
-delen på siden der du har agenten, definerer du variablene som følger, og erstatter variableName1
med variabelnavnet uten bot.
-prefikset og variableDefinition1
for definisjonen. Skill flere variabler med komma ,
.
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 <script>
-delen kaller du store
når du bygger inn agenten, som i følgende eksempel hvor store
kalles like før der styleOptions
kalles (du må erstatte BOT_ID
med ID-en din):
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));
Slett globale variabler
Hvis du fjerner en global variabel som brukes i andre emner, blir referansene til denne variabelen i emnene merket som Unknown
. Det vises en advarsel om sletting av den globale variabelen før du kan bekrefte operasjonen.
Noder som inneholder referanser til en slettet global variabel, indikerer at de inneholder en ukjent variabel.
Emner med noder som inneholder referanser til slettede globale variabler, kan slutte å fungere. Kontroller at du fjerner eller retter alle emnene som brukte den slettede variabelen, før du publiserer agenten.
Avhengig av agentens godkjenningsoppsett har du et sett med globale variabler som er knyttet til den valgte godkjenningsleverandøren. Hvis du vil ha mer informasjon om hvilke variabler som er tilgjengelige og hvordan du bruker dem, kan du se dokumentasjonsemnet Legg til brukergodkjenning i emner.
Finn alle emner ved hjelp av en global variabel i Teams
Velg den ønskede globale variabelen på redigeringslerretet.
I panelet Egenskaper for variabel i delen Brukt av velger du ett av emnene der variabelen brukes, for å gå direkte til emnet.
Slett globale variabler
Hvis du fjerner en global variabel som brukes i andre emner, blir referansene til denne variabelen i emnene merket som Unknown
. Det vises en advarsel om sletting av den globale variabelen før du kan bekrefte operasjonen.
Noder som inneholder referanser til en slettet global variabel, indikerer at de inneholder en ukjent variabel.
Emner med noder som inneholder referanser til slettede globale variabler, kan slutte å fungere. Kontroller at du fjerner eller retter alle emnene som brukte den slettede variabelen, før du publiserer agenten.
Avansert bruk av globale variabler
Hvis du vil ha mer informasjon om komplekse og avanserte scenarioer som bruker globale variabler, inkludert godkjenning, eksterne kilder og initialisering av flyter, kan du se Copilot Studio-nettappversjonen av denne artikkelen.