Agentvariabler gäller under en enskild användarsession. Du anger vilka variabler som ska behandlas som agentvariabler 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 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 agentmeddelande 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 agent 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 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.
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 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=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 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 ovan där styleOptions
kallas (du måste byta ut BOT_ID
med agent-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 gäller under en enskild användarsession. Du anger vilka variabler som ska behandlas som agentvariabler för att särskilja dem från variabler på ämnesnivå.
Ange agentvariabler
När du har angett en agentvariabel 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 agentmeddelande ser du att agentvariabeln är tillgänglig. Variabler sorteras efter alfabetisk ordning, så att alla agentvariabler grupperas tillsammans på variabelmeny eftersom alla börjar med agent.
.
När du använder en villkorsnod, en flödesåtgärd eller en kvalifikationsnod visas även agentvariabler som är tillgängliga där.
Återanvänd en variabel mellan ämnen genom att ställa in den som en agentvariabel
Välj en variabel på redigeringsdesignytan.
I fönstret Variabelegenskaper under Användning, välj agent (alla avsnitt kan få åtkomst).
Variabelnamnet får en viss prefixlängd agent.
som skiljer från variabler på ämnesnivå. Variabeln visas till exempel UserName
som agent.UserName
.
Obs
En agentvariabels namn måste vara unika i alla ämnen. Om det är en konflikt måste du byta namn på variabeln innan du sparar ändringen.
Hantera agentvariabler
När du har skapat en agentvariabel 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 agent eller om du har flera variabler och komplex ämnesförgrening.
Gå till källan för definitionen av en agentvariabel
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 agentvariabeln skapades.
Söka efter alla ämnen med hjälp av en agentvariabel
Välj en agentvariabel 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 agentvariabel
Om en agentvariabel utlöses innan den har initierats (eller fyllts i) aktiveras agenten automatiskt den del av ämnet där agentvariabeln först definieras, även om den är i ett annat ämne innan den ursprungliga ämnet returneras. På så sätt kan agenten 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 agentvariabel agent.UserName
. Men agent.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 agent.UserName
refereras till, kan agenten svänga sömlöst till frågenoden där agent.UserName
först definieras.
När kunden har svarat frågan återupptar agenten ämnet "bokning av avtalad tid".
Agentvariablens 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 agent.
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.
Agentvariabler livscykel och återställa dess värde
Agentvariabler är tillgängliga från ämne och agentvariabelns tilldelade värde kvarstår under hela sessionen.
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 agentvariabler och har inga värden.
Ange värdet för en agentvariabel från externa källor
Du kan ange att en agentvariabel ska initieras med en extern källa. På så sätt kan agentfunktionen 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 agentvariabel 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 agentfilen 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 agentvariabeln, utan agent.
prefixet. En agentvariabel agent.UserName
måste till exempel renderas 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 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 username=Renata
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 agent.
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 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 agentvariabler
När du tar bort en agentvariabel som används i andra ämnen kommer referenserna till den variabeln i avsnitten att markeras som Unknown
.
Du får ett varningsmeddelande om att agentvariabeln tas bort innan du kan bekräfta åtgärden.
Noder som innehåller referenser till den borttagna agentvariabeln anger att de innehåller en okänd variabel.
Ämnen med noder som innehåller referenser till borttagna agentvariabler kan sluta att fungera. Kontrollera att du tar bort eller korrigerar alla ämnen som använde den borttagna variabeln innan du publicerar.
Beroende på agentens autentiseringskonfiguration har du en uppsättning med agentvariabler 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 användare i ämnen.
Söka efter alla ämnen med hjälp av en agentvariabel i Teams
Välj en agentvariabel 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 agentvariabler
När du tar bort en agentvariabel som används i andra ämnen kommer referenserna till den variabeln i avsnitten att markeras som Unknown
.
Du får ett varningsmeddelande om att agentvariabeln tas bort innan du kan bekräfta åtgärden.
Noder som innehåller referenser till den borttagna agentvariabeln anger att de innehåller en okänd variabel.
Ämnen med noder som innehåller referenser till borttagna agentvariabler 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 agentvariabler
Mer information om komplexa och avancerade scenarier som använder agentvariabler, t.ex. autentisering, externa källor och initieringsflöden, finns i Microsoft Copilot Studio-webbappversionen av detta artikel.