Copilot-variabler gäller under en enskild användarsession. Du anger vilka variabler som ska behandlas som copilot-variabler för att särskilja dem från variabler på ämnesnivå.
Skapa en global variabel
Du skapar en global variabel genom att ändra omfattningen av en ämnesvariabel.
Skapa en variabel eller använd rutan variabler för att öppna en befintlig variabel.
I rutan Variabelegenskaper, välj Global (alla ämnen kan få åtkomst).
Variabelnamnet får en viss prefixlängd Global.
som skiljer från variabler på ämnesnivå. Till exempel visas variabeln UserName
som Global.UserName
.
Spara ämnet.
Namnet på en global variabel måste vara unika i alla ämnen. Om det är en konflikt måste du byta namn på variabeln innan du sparar ämnet.
Använd globala variabler
När du skriver ett copilot-meddelande i en meddelandenod eller en frågenod, välj ikonen {x} för att se de variabler som är tillgängliga för ämnet. Globala variabler visas på fliken Anpassad tillsammans med eventuella ämnesvariabler. Variabler anges i alfabetisk ordning.
Söka efter alla ämnen med hjälp av en global variabel
Du hittar var en global variabel definieras och vilka andra ämnen som använder den. Det kan vara användbart om du arbetar med en ny copilot eller om du har flera variabler och komplex ämnesförgrening.
Välj en global variabel på arbetsytan eller öppna fönstret Variabler och välj en global variabel.
I rutan Variabelegenskaper, i avsnittet Referens, väljer du något av de ämnen där variabeln används för att gå direkt till det avsnittet och den noden.
Livscykeln för globala variabler
Som standard bevaras värdet för en global variabel tills sessionen avslutas. Noden Rensa variabelvärden återställer värdena för globala variabler och används i systemet systemämnet Återställ konversation. Det ämnet utlöses antingen genom om omdirigerande eller när användaren skriver in en utlösarfras, t.ex. ”Starta om”. I så fall återställs alla globala variabler.
Ange värdet för en global variabel från externa källor
Om du vill vara säker på att copilot startar en konversation med ett sammanhang kan du initiera en global variabel med en extern källa. Anta att användarna måste logga in på webbplatsen. Eftersom din copilot redan känner till en användares namn kan den ge kunderna ett namn innan de börjar skriva sin första fråga.
Välj en global variabel.
I rutan Egenskaper för variabel, välj Externa källor kan ställa in värden.
Ange globala variabler i en inbäddad copilot
Om du bädda in din copilot på en enkel webbsida kan du lägga till variabler och deras definitioner till copilot-URL:en. Om du vill ha lite mer kontroll kan du också använda ett <script>
-kodblock för att anropa och använda variabler programmässigt.
Variabelnamnet i frågesträngen för URL måste överensstämma med namnet på den globala variabeln, utan Global.
-prefixet. En global variabel Global.UserName
kallas till exempel för UserName
i frågan.
Exemplet nedan ger en enkel deklaration för variablerna. I ett produktionsscenario kan du som en sökparameter eller variabeldefinition skicka in en annan variabel som redan har lagrat användarens namn (till exempel om du har användarnamnet från ett inloggningsskript).
Lägg till variablerna och deras definitioner i copilot-URL:en som Parametrar för frågesträngar i formatet botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
.
Till exempel:
Parameternamnet är skiftlägesokänsligt.
username=Renata
kommer också att fungera i det här exemplet.
Lägg till globala variabler i en anpassad arbetsyta
Du kan också lägga till variabeln i en anpassad arbetsyta.
I avsnittet <script>
på sidan där du har copilot definierar du variablerna enligt följande och ersätter variableName1
för variabelnamnet utan Global.
prefixet och variableDefinition1
för definitionen. Avskilj flera variabler med kommatecken (,
).
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 avsnittet <script>
anropar du store
när du bäddar in copilot, som i följande exempel där store
kallas precis ovan där styleOptions
kallas (du måste byta ut BOT_ID
med ditt copilot-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));
Copilot-variabler gäller under en enskild användarsession. Du anger vilka variabler som ska behandlas som copilot-variabler för att särskilja dem från variabler på ämnesnivå.
Ange copilot-variabler
När du har angett en copilot-variabel kommer den att vara tillgänglig för alla ämnen.
När du väljer {x}
-knappen i en servernod eller en frågenod när du skriver ett copilot-meddelande ser du att copilot-variabeln är tillgänglig. Variabler sorteras efter alfabetisk ordning, så att alla copilot-variabler grupperas tillsammans på variabelmeny eftersom alla börjar med copilot.
.
När du använder en villkorsnod, en flödesåtgärd eller en kvalifikationsnod visas även copilot-variabler som är tillgängliga där.
Återanvänd en variabel mellan ämnen genom att ställa in den som en copilot-variabel
Välj en variabel på redigeringsdesignytan.
I fönstret Variabelegenskaper under Användning, välj copilot (alla avsnitt kan få åtkomst).
Variabelnamnet får en viss prefixlängd copilot.
som skiljer från variabler på ämnesnivå. Variabeln visas till exempel UserName
som copilot.UserName
.
Obs
Namn på en copilot-variabel måste vara unika i alla ämnen. Om det är en konflikt måste du byta namn på variabeln innan du sparar ändringen.
Hantera copilot-variabler
När du har skapat en copilot-variabel kan du se var den är definierad och vilka andra ämnen som används. Det kan vara användbart om du arbetar med en ny copilot eller om du har flera variabler och komplex ämnesförgrening.
Gå till källan för definitionen av en copilot-variabel
Välj en variabel på redigeringsdesignytan.
I rutan Variabelegenskaper väljer du Gå till källa.
Då tas du till noden i det ämne där copilot-variabeln skapades.
Söka efter alla ämnen med hjälp av en copilot-variabel
Välj en Copilotvariabel på redigeringsarbetsytan.
I rutan Variabelegenskaper i avsnittet Används av väljer du något av de avsnitt där variabeln används för att gå direkt till det avsnittet och noden.
Initiering av Copilot-variabel
Om en copilot-variabel utlöses innan den har initierats (eller fyllts i) utlöser copilot automatiskt den del av ämnet där copilot-variabeln först definieras, även om den är i ett annat ämne innan det ursprungliga ämnet returneras. På så sätt kan copilot fylla i alla variabler utan att konversationen avbryts.
Kunden startar till exempel konversationen med ämnet ”bokning av avtalad tid” som används för att använda en copilot-variabel copilot.UserName
. Men copilot.UserName
-variabeln definieras emellertid först i ämnet ”välkommen”.
När konversationen levereras till platsen i den avtalade tiden för ämnet ”bokning av avtalad tid” där copilot.UserName
refereras till, kan copilot svänga sömlöst till frågestoden där copilot.UserName
först definieras.
När kunden har svarat frågan återupptar copilot ämnet ”bokning av avtalad tid”.
Copilot-variablens beteende vid implementering av åtgärder via Power Automate-flöden eller färdigheter
Ibland kan du använda ett flöde eller en färdighet för att initiera eller fylla i en variabel i en copilot.
När en användare interagerar med copilot kan den emellertid fyllas i vid en tidigare tidpunkt i konversationen, eller så kan du redan ställa in variabler externt.
I den här situationen körs flödet eller färdigheten fortfarande och fyller i variabeln och skriver över det som tidigare lagrades i variabeln.
Copilot-variabler livscykel och återställa dess värde
Copilot-variabler är tillgängliga från ämne och copilot-variabelns tilldelade värde kvarstår under hela sessionen.
Värdet rensas bara när copilot-användaren omdirigeras till Starta om systemämne, eller när användaren utlöser den här ämne direkt (till exempel genom att Starta om). I det här fallet återställs alla copilot-variabler och har inga värden.
Ange värdet för en copilot-variabel från externa källor
Du kan ange att en copilot-variabel ska initieras med en extern källa. På så sätt kan copilot-funktionen starta konversationen med en del sammanhang.
En kund kan t.ex. ha en copilot-chatt från webbplatsen och webbplatsen redan känner till kundens namn. Du låter copilot känna till användarens namn innan du startar konversationen kan copilot kan ha en mer intelligent konversation med kunden utan att behöva be om deras namn igen.
Ange copilot-variabel från extern källa
Välj en variabel på redigeringsdesignytan.
I rutan Variabelegenskaper i avsnittet Användning, välj kryssrutan Externa källor kan ställa in värden.
Du kan lägga till variablerna och deras definitioner om du helt enkelt bäddar in copilot-filen på en enkel webbsida, eller om du vill använda ett <script>
kodblock för anropa och använda variabler programmässigt.
Obs
Variabelnamnet i frågesträngen måste överensstämma med det för copilot-variabeln, utan copilot.
prefixet. En copilot-variabel copilot.UserName
måste till exempel återges som UserName=
.
I exemplen som beskrivs här görs en enkel deklaration för variablerna. I ett produktionsscenario kan du som en sökparameter eller variabeldefinition skicka in en annan variabel som redan har lagrat användarens namn (till exempel om du har användarnamnet från ett inloggningsskript).
Lägga till en variabel i en inbäddad copilot
Lägg till variablerna och deras definitioner i copilot-URL:en som Parametrar för frågesträngar (i formatet botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
), t.ex.:
Parameternamnet är skiftlägesokänsligt. Detta innebär att username=Renata
också kommer att fungera i det här exemplet.
I avsnittet <script>
på sidan där du har copilot definierar du variablerna enligt följande och ersätter variableName1
för variabelnamnet utan copilot.
prefixet och variableDefinition1
för definitionen. Avskilj flera variabler med kommatecken ,
.
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 avsnittet <script>
anropar du store
när du bäddar in copilot, som i följande exempel där store
kallas precis ovan där styleOptions
kallas (du måste byta ut BOT_ID
med ditt 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));
Ta bort Copilotvariabler
När du tar bort en Copilotvariabel som används i andra ämnen kommer referenserna till den variabeln i avsnitten att markeras som Unknown
.
Du får ett varningsmeddelande om att Copilotvariabeln tas bort innan du kan bekräfta åtgärden.
Noder som innehåller referenser till den borttagna Copilotvariabeln anger att de innehåller en okänd variabel.
Ämnen med noder som innehåller referenser till borttagna Copilotvariabler kan sluta att fungera. Kontrollera att du tar bort eller korrigerar alla ämnen som använde den borttagna variabeln innan du publicerar.
Beroende på copilot autentiseringskonfiguration har du en uppsättning med copilot-variabler som är associerade med autentiseringsprovidern som är tillgängliga för dig. Mer information om vilka variabler som är tillgängliga och hur de används finns i dokumentationsavsnittet Lägga till autentisering för slutanvändare i ämnen.
Söka efter alla ämnen med hjälp av en Copilotvariabel i Teams
Välj en Copilotvariabel på redigeringsarbetsytan.
I rutan Variabelegenskaper i avsnittet Används av väljer du något av de avsnitt där variabeln används för att gå direkt till det avsnittet och noden.
Ta bort Copilotvariabler
När du tar bort en Copilotvariabel som används i andra ämnen kommer referenserna till den variabeln i avsnitten att markeras som Unknown
.
Du får ett varningsmeddelande om att Copilotvariabeln tas bort innan du kan bekräfta åtgärden.
Noder som innehåller referenser till den borttagna Copilotvariabeln anger att de innehåller en okänd variabel.
Ämnen med noder som innehåller referenser till borttagna Copilotvariabler kan sluta att fungera. Kontrollera att du tar bort eller korrigerar alla ämnen som använde den borttagna variabeln innan du publicerar.
Avancerad användning av Copilotvariabler
Mer information om komplexa och avancerade scenarier som använder Copilotvariabler, t.ex. autentisering, externa källor och initieringsflöden, finns i Microsoft Copilot Studio-webbappversionen av detta ämne.