Kopilotvariabler gjelder under én brukerøkt. Du angir hvilke variabler som skal behandles som kopilotvariabler 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 ruten 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. Hvis det oppstår en konflikt, må du endre navnet på variabelen før du lagrer emnet.
Bruke globale variabler
Når du skriver en kopilotmelding i en Melding-node eller en Spørsmål-node, 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. Dette kan være nyttig hvis du arbeider med en ny kopilot, eller hvis du har flere variabler og en kompleks emneforgrening.
Velg en global variabel i redigeringslerretet, eller åpne Variabler-ruten og velg en global variabel.
I ruten Egenskaper for variabel i delen Referanse velger du ett av emnene der variabelen brukes til å gå direkte til det emne og den 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 det tilfellet tilbakestilles alle globale variabler.
Angi en verdi for en global variabel fra eksterne kilder
Hvis du vil sørge for at kopiloten starter en samtale med litt kontekst, kan du initialisere en global variabel med en ekstern kilde. La oss si at området krever at brukere logger seg på. Siden kopiloten allerede vet navnet til en bruker, kan den hilse på kunder ved navn før de begynner å skrive inn det første spørsmålet.
Velg en global variabel.
Velg Eksterne kilder kan angi verdier i ruten Egenskaper for variabel.
Angi globale variabler i en innebygd kopilot
Hvis du bygger inn kopiloten på en enkel nettside, kan du legge til variabler og definisjonene deres i nettadressen til kopiloten. 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 gir 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).
Legg til variablene og definisjonene i nettadressen til kopiloten som spørringsstrengparametere i formatet botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
.
Eksempel:
Det skilles mellom små og store bokstaver i parameternavnet.
username=Renata
fungerer også 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 kopiloten, 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 opp store
når du bygger inn kopiloten, som i følgende eksempel der store
kalles opp like ovenfor der styleOptions
kalles opp (du må erstatte BOT_ID
med ID-en for kopiloten):
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));
Kopilotvariabler gjelder under én brukerøkt. Du angir variablene som behandles som kopilotvariabler for å skille dem fra variabler på emnenivå.
Angi kopilotvariabler
Når du har angitt en kopilotvariabel, blir den tilgjengelig for alle emner.
Når du velger knappen {x}
i en meldings- eller spørsmålsnode når du skriver en kopilotmelding, vil du se at kopilotvariabelen er tilgjengelig. Variabler sorteres i alfabetisk rekkefølge, slik at du vil se at alle kopilotvariabler er gruppert sammen på variabelmenyen fordi alle starter med copilot.
.
Når du bruker en betingelsesnode, en flythandlingsnode eller en ferdighetsnode, vises også kopilotvariabler som er tilgjengelige der.
Bruk en variabel på tvers av emner på nytt ved å angi den som en kopilotvariabel
Velg en hvilken som helst variabel på redigeringslerretet.
I ruten Egenskaper for variabel under Bruk velger du Kopilot (alle emner har tilgang).
Variabelnavnet får en prefiksstreng copilot.
for å skille det fra variabler på emnenivå. Variabelen UserName
vises for eksempel nå som copilot.UserName
.
Merk
Navnet på en kopilotvariabel må være unikt på tvers av alle emner. Hvis det oppstår en konflikt, må du endre navnet på variabelen før du lagrer endringen.
Administrer kopilotvariabler
Når du har opprettet en kopilotvariabel, kan du se hvor den først er definert, og hvilke andre emner som bruker den. Dette kan være nyttig hvis du arbeider med en ny kopilot, eller hvis du har flere variabler og en kompleks emneforgrening.
Gå til kilden for definisjonen av en kopilotvariabel
Velg en hvilken som helst variabel på redigeringslerretet.
I ruten Egenskaper for variabel velger du Gå til kilde.
Dette fører deg til noden i emnet der kopilotvariabelen ble opprettet.
Finn alle emner ved hjelp av en kopilotvariabel
Velg en hvilken som helst kopilotvariabel på redigeringslerretet.
I ruten Egenskaper for variabel i delen Brukt av velger du ett av emnene der variabelen brukes til å gå direkte til det emne og den noden.
Initialisering av kopilotvariabel
Hvis en kopilotvariabel utløses før den er initialisert (eller fylt ut), utløser kopiloten automatisk delen av emnet der kopilotvariabelen først er definert, selv når den er i et annet emne, før den returneres til det opprinnelige emnet. Dette gjør det mulig for kopiloten å ha alle variablene fylt ut uten å avbryte samtalen.
Kunden starter for eksempel samtalen på emnet Avtalebestilling, der en kopilotvariabel copilot.UserName
brukes. Variabelen copilot.UserName
defineres imidlertid først i "Velkommen"-emnet.
Når samtalen kommer til punktet i emnet Avtalebestilling der det henvises til copilot.UserName
, går kopiloten sømløst til spørsmålsnoden der copilot.UserName
er først definert.
Når kunden har svart på spørsmålet, gjenopptar kopiloten gjenoppta emnet Avtalebestilling.
Virkemåte for kopilotvariabel ved implementering av handlinger via Power Automate-flytprosesser eller -ferdigheter
Noen ganger kan det hende at du bruker en flyt eller ferdighet til å initialisere eller fylle ut en variabel i et kopilot.
Når en bruker samhandler med kopiloten, kan det imidlertid hente 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.
Kopilotvariablenes livssyklus og tilbakestilling av verdien
Kopilotvariablene er tilgjengelige fra alle emner, og kopilotvariabelens tildelte verdi beholdes i hele økten.
Verdien tømmes bare når kopilotbrukeren omdirigeres til systememnet Start på nytt, eller når brukeren utløser dette emnet direkte (f.eks. ved å skrive inn Start på nytt). I dette tilfellet tilbakestilles alle kopilotvariabelene, og de har ingen verdi.
Angi en verdi for en kopilotvariabel fra eksterne kilder
Du kan angi at en kopilotvariabel skal initialiseres med en ekstern kilde. På denne måten kan kopiloten starte samtalen med en del kontekst.
En kunde henter for eksempel inn en kopilotsamtale fra nettstedet ditt, og nettstedet kjenner allerede kundens navn. Du lar kopiloten få vite navnet på brukeren før den starter samtalen, og kopiloten kan dermed ha en mer intelligent samtale med kunden uten å måtte spørre etter navnet på nytt.
Angi kopilotvariabel fra ekstern kilde
Velg en hvilken som helst variabel på redigeringslerretet.
I ruten 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 kopiloten på en enkel nettside, eller du kan bruke en <script>
-kodeblokk til å kalle opp og bruke variabler programmatisk.
Merk
Variabelnavnet i spørringsstrengen må samsvare med variabelnavnet til kopiloten, uten copilot.
-prefikset. En kopilotvariabel copilot.UserName
må for eksempel gjengis som UserName=
.
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 kopilot
Legg til variablene og definisjonene i kopilotens 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 username=Renata
også fungerer i dette eksemplet.
I <script>
-delen på siden der du har kopiloten, definerer du variablene som følger, og erstatter variableName1
med variabelnavnet uten copilot.
-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 delen <script>
kaller du opp store
når du bygger inn kopiloten, som i følgende eksempel hvor store
kalles opp like over der styleOptions
kalles opp (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 kopilotvariabler
Når du fjerner en kopilotvariabel som brukes i andre emner, blir referansene til denne variabelen i emnene merket som Unknown
.
Det vises en advarsel om sletting av kopilotvariabelen før du kan bekrefte operasjonen.
Noder som inneholder referanser til den slettede kopilotvariabelen, forteller deg at de inneholder en ukjent variabel.
Emner med noder som inneholder referanser til slettede kopilotvariabler, kan slutte å fungere. Kontroller at du fjerner eller retter alle emnene som brukte den slettede variabelen, før du publiserer.
Avhengig av oppsettet til kopilotgodkjenning, får du et sett med kopilotvariabler som er knyttet til godkjenningsleverandøren som er tilgjengelig for deg. Hvis du vil ha mer informasjon om hvilke variabler som er tilgjengelige og hvordan du bruker dem, kan du se dokumentasjonsemnet Legg til sluttbrukergodkjenning i emner.
Finn alle emner ved hjelp av en kopilotvariabel i Teams
Velg en hvilken som helst kopilotvariabel på redigeringslerretet.
I ruten Egenskaper for variabel i delen Brukt av velger du ett av emnene der variabelen brukes til å gå direkte til det emne og den noden.
Slett kopilotvariabler
Når du fjerner en kopilotvariabel som brukes i andre emner, blir referansene til denne variabelen i emnene merket som Unknown
.
Det vises en advarsel om sletting av kopilotvariabelen før du kan bekrefte operasjonen.
Noder som inneholder referanser til den slettede kopilotvariabelen, forteller deg at de inneholder en ukjent variabel.
Emner med noder som inneholder referanser til slettede kopilotvariabler, kan slutte å fungere. Kontroller at du fjerner eller retter alle emnene som brukte den slettede variabelen, før du publiserer.
Avansert bruk av kopilotvariabler
Hvis du vil ha mer informasjon om komplekse og avanserte scenarioer som bruker kopilotvariabler, inkludert godkjenning, eksterne kilder og initialisering av flyter, kan du se versjonen av denne artikkelen i Microsoft Copilot Studio-nettappen.