Globala variabler gäller under en enskild användarsession. Du anger vilka variabler är globala 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änder fönstret Variabler för att öppna en befintlig variabel.
I panelen 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 unikt i alla ämnen.
Använd globala variabler
När du skriver ett meddelande i en meddelandenod eller en frågenod väljer du 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. Den här funktionen kan vara användbar om du arbetar med en ny agent eller om du har flera variabler och komplex ämnesförgrening.
Välj den önskade globala variabeln på designytan eller i panelen Variabler.
På panelen Variablegenskaper, i avsnittet Referens väljer du Visa alla referenser.
Byt till fliken Annat och välj ett ämne där variabeln används för att gå direkt till det ämnet och 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 kan utlösas antingen genom om omdirigerande eller när användaren anger en utlösarfras, till exempel "Start over". 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 agent startar en konversation med viss kontext kan du initiera en global variabel med en extern källa. Anta att användarna måste logga in på webbplatsen. Eftersom din agent 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 agent
Om du bädda in din agent på en enkel webbsida kan du lägga till variabler och deras definitioner till agent-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.
I följande exempel används en grundläggande 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 agent-URL:en som Parametrar för frågesträngar i formatet botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
.
Till exempel:
Parameternamnet är skiftlägesokänsligt.
username=Ana
fungerar också 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 agenten 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 agenten, som i följande exempel där store
kallas precis före där styleOptions
kallas (du måste byta ut BOT_ID
med agentens 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));
Globala variabler gäller under en enskild användarsession. Du anger vilka variabler är globala variabler för att särskilja dem från variabler på ämnesnivå.
Ange globala variabler
När du har gjort en variabel global blir den tillgänglig för alla ämnen.
När du väljer ikonen {x}
när du skriver ett meddelande i en meddelandenid eller en frågenod ser du alla globala variabler. Variabler visas i alfabetisk ordning och alla globala variabler visas tillsammans eftersom alla börjar med bot.
.
När du använder en villkorsnod, en flödesåtgärd eller en kvalifikationsnod visas även globala variabler som är tillgängliga där.
Återanvänd en variabel mellan ämnen genom att göra dem till globala variabler
Välj önskad variabel på redigeringsarbetsytan.
I panelen Variabelegenskaper under Användning, välj Robot (alla avsnitt kan få åtkomst).
Variabelnamnet markeras med en prefix bot.
som skiljer från variabler på ämnesnivå. Variabeln visas till exempel UserEmail
nu som bot.UserEmail
.
Obs
Namnet på en global variabel måste vara unikt i alla ämnen.
Hantera globala variabler
När du har skapat en global variabel kan du se var den är definierad och vilka andra ämnen som används. Den här funktionen kan vara användbar om du arbetar med en ny agent eller om du har flera variabler och komplex ämnesförgrening.
Gå till källan för definitionen av en global variabel
Välj önskad variabel på redigeringsarbetsytan.
I panelen Variabelegenskaper väljer du Gå till källa.
Denna åtgärd tar dig till noden i ämnet där den globala variabeln skapades.
Söka efter alla ämnen med hjälp av en global variabel
Välj önskad variabel på redigeringsarbetsytan.
I panelen 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.
Initiering på global variabel
Om en global variabel utlöses innan den har initierats (eller fyllts i) utlöser agenten automatiskt den del av ämne där den globala variabeln först definieras, även om den är i ett annat ämne innan den ursprungliga ämnet returneras. Det här beteendet gör att agenten kan 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 global variabel bot.UserName
. Men bot.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 bot.UserName
refereras till, kan agenten svänga sömlöst till frågenoden där bot.UserName
först definieras.
När kunden har svarat frågan återupptar agenten ämnet "bokning av avtalad tid".
Globala variabelns 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.
När en användare interagerar med agenten 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.
Livscykel för globala variabler och återställning av dess värde
Globala variabler är tillgängliga från vilket ämne som helst, och deras värde kvarstår under en session.
Värdet rensas bara när agentanvändaren omdirigeras till ämnet Starta om 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 globala variabler och har inget värde.
Ange värdet för en global variabel från externa källor
Du kan ange att en global variabel ska initieras från en extern källa. Med denna åtgärd kan agenten starta konversationen med en del sammanhang.
En kund kan t.ex. ha en agentchatt från webbplatsen och webbplatsen redan känner till kundens namn. Du låter agenten känna till användarens namn innan du startar konversationen kan agenten kan ha en mer intelligent konversation med kunden utan att behöva be om deras namn igen.
Ange en global variabel från en extern källa
Välj en variabel på redigeringsdesignytan.
I panelen 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 agenten 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 global variabeln, utan bot.
prefixet. Till exempel måste den globala variabeln bot.UserEmail
visas som UserEmail=
.
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 agent
Lägg till variablerna och deras definitioner i agent-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 useremail=Ana@contoso.com
också kommer att fungera i det här exemplet.
I avsnittet <script>
på sidan där du har agenten definierar du variablerna enligt följande och ersätter variableName1
för variabelnamnet utan bot.
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 agenten, som i följande exempel där store
kallas precis före där styleOptions
kallas (du måste byta ut BOT_ID
med 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 globala variabler
Om du tar bort en global variabel som används i andra ämnen kommer referenserna till den variabeln i avsnitten att markeras som Unknown
. Du får ett varningsmeddelande om att global variabeln tas bort innan du kan bekräfta åtgärden.
Noder som innehåller referenser till en borttagna global variabel indikerar att de innehåller en okänd variabel.
Ämnen med noder som innehåller referenser till borttagna globala variabler kan sluta att fungera. Kontrollera att du tar bort eller korrigerar alla ämnen som använde den borttagna variabeln innan du publicerar din agent.
Beroende på agentens autentiseringskonfiguration har du en uppsättning med globala variabler som är associerade med den valda autentiseringsprovidern. Mer information om vilka variabler som är tillgängliga och hur de används finns i dokumentationsavsnittet Lägga till autentisering för användare i ämnen.
Hitta alla ämnen med hjälp av en global variabel i Teams
Välj önskad global variabel på redigeringsarbetsytan.
I panelen 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.
Ta bort globala variabler
Om du tar bort en global variabel som används i andra ämnen kommer referenserna till den variabeln i avsnitten att markeras som Unknown
. Du får ett varningsmeddelande om att global variabeln tas bort innan du kan bekräfta åtgärden.
Noder som innehåller referenser till en borttagna global variabel indikerar att de innehåller en okänd variabel.
Ämnen med noder som innehåller referenser till borttagna globala variabler kan sluta att fungera. Kontrollera att du tar bort eller korrigerar alla ämnen som använde den borttagna variabeln innan du publicerar din agent.
Avancerad användning av global variabler
För mer information om komplexa och avancerade scenarier med globala variabler, inklusive autentisering, externa källor och initieringsflöden, se Copilot Studio webbappversionen av den här artikeln.