Arbejd med globale variabler

Variabler gemmer dine kunders svar på spørgsmål fra din agent. Du kan f.eks. gemme en kundes navn i en variabel, der kaldes UserName. Agenten kan derefter henvende sig til kunden ved hjælp af navnet, efterhånden som samtalen fortsætter.

Som standard kan du kun bruge en variabels værdi i det emne, hvor du oprettede variablen. Det kan dog være en god idé at genbruge en værdi på tværs af flere emner. I et "Velkomst"-emne beder botten eksempelvis om kundens navn og mail. I emnet Aftalereservation skal agenten huske, hvad kunden allerede har angivet, og ikke spørge igen.

Du kan genbruge en variabel ved at overføre variablen fra ét emne til et andet. Du kan også gøre variablen global i området. Denne artikel dækker globale variabler. De kaldes globale variabler, fordi de er tilgængelige i alle emner på tværs af hele agenten. Din agent kan også angive dem fra eksterne kilder.

Globale variabler anvendes i en enkelt brugersession. Du angiver, hvilke variable der er globale variabler, for at kunne skelne mellem dem og variabler på emneniveau.

Oprette en global variabel

Du kan oprette en global variabel ved at ændre omfanget af ethvert emne.

Bemærkning

Navnet på en global variabel skal være entydigt på tværs af alle emner.

  1. Opret en variabel, eller brug Variabler-panelet til at åbne en eksisterende variabel.

  2. I ruden Egenskaber for variabel under skal du vælge Global (ethvert emne kan få adgang). Variabelnavnet henter præfikset Global. for at skelne det fra variabler på emneniveau. Variablen UserName bliver Global.UserNamef.eks. .

  3. Gem emnet.

Bruge globale variabler

Når du skriver en meddelelse i en node af typen Meddelelse eller Spørgsmål , skal du vælge ikonet {x} for at få vist de variabler, som emnet kan få adgang til. Du kan også bruge globale variabler i Værktøjsnoder , der kalder prompter eller arbejdsprocesser. Globale variabler vises under fanen Brugerdefineret sammen med eventuelle emnevariabler. Variabler sorteres i alfabetisk rækkefølge.

Find alle emner, der bruger en global variabel

Du kan finde ud af, hvor en global variabel er defineret, og hvilke andre emner der bruger den. Denne funktion er nyttig, hvis du arbejder på en ny agent, eller hvis du har flere variabler og kompleks emnegrening.

  1. Vælg den globale variabel, du vil have, på oprettelseslærredet eller i panelet Variabler .

  2. I panelet for Variabelegenskaber skal du i sektionen Reference vælge Vis alle referencer.

  3. Skift til fanen Andet, og vælg et emne, hvor variablen bruges, for at gå direkte til det pågældende emne og node.

Sletning af globale variabler

Hvis du fjerner en global variabel, der bruges i andre emner, vises referencerne til variablen i emnerne som Unknown. Du får vist en advarsel om sletning af den globale variabel, før du kan bekræfte handlingen.

Noder, der indeholder referencer til en slettet global variabel, angiver, at de indeholder en ukendt variabel.

Emner med noder, der indeholder referencer til slettede globale variabler, kan holde op med at fungere. Sørg for at fjerne eller rette alle de emner, der brugte den nu slettede variabel, før du publicerer din agent.

Globale variablers livscyklus

En global variabelværdi bevares som standard, indtil sessionen slutter. Noden Ryd variabelværdier nulstiller værdierne for globale variabler. Emnet Nulstil samtalesystem bruger denne node. Når en omdirigering udløser emnet (eller når brugeren indtaster en sætning som "Start forfra"), nulstilles alle globale variabler.

Angive global variabel fra eksterne kilder

Hvis du vil sikre, at agenten starter en samtale med en kontekst, skal du bruge en global variabel og angive dens værdi fra en ekstern kilde. Lad os antage, at dit websted kræver, at brugerne logger på. Hvis du gemmer en brugers navn i en global variabel og videregiver det til din agent, kan agenten byde kunderne velkommen ved navn, før de begynder at skrive deres første spørgsmål. Et andet eksempelscenarie er at overføre kontekst fra Dynamics 365 Customer Service til en agent, så den kan starte samtalen med viden om, hvad kunden ønsker at opnå.

Hvis du vil forhindre uønsket ventetid, skal du angive, hvor længe din agent kan vente på en værdi. Du kan også angive en standardværdi, der skal bruges, når den eksterne kilde ikke svarer rettidigt.

Bemærkning

Agenter, der er publiceret til den Dynamics 365 Contact Center kanal til IVR-use cases, understøtter ikke timeoutværdier, der er konfigureret for globale variabler, der er angivet af eksterne kilder.

  1. Opret et dedikeret emne til at indeholde konfigurationen for alle de variabler, der er beregnet til at blive angivet fra eksterne kilder. Du kan f.eks. navngive dette emne "Indstil kontekstvariabler." Dette emne tjener ikke andre formål, så det behøver ikke at have udløserfraser angivet.

  2. Føj noden Indstil variabelværdi til dit dedikerede emne.

  3. Åbn variabelvælgeren under Indstil variabel, og vælg Opret en ny variabel.

  4. Vælg standardnavnet på den nye variabel. Panelet Variabel egenskaber vises.

  5. Erstat standardnavnet med et navn, der svarer nøjagtigt til navnet på den variabel, der overføres fra det eksterne system.

  6. Under Forbrug skal du vælge Global (ethvert emne kan få adgang) og Eksterne kilder kan angive værdier.

  7. Under Reference, vælg de tre prikker () i øverste højre hjørne, og vælg Hent værdi fra denne node, hvis den er tom.

  8. (Valgfrit) Angiv en timeoutforsinkelse i millisekunder. Denne værdi bestemmer, hvor længe din agent kan vente på, at variablen angives af en ekstern kilde, før der opstår timeout og fortsætter med den standardværdi, du har angivet i noden Angiv variabel værdi. Denne indstilling er relevant i scenarier, hvor variablen afhænger af en langvarig eller asynkron proces, men din agent skal respektere en maksimal ventetid for at sikre en god brugeroplevelse.

    For variabler, der kommer fra Omnichannel til kundeservice, skal du bruge en værdi på 10 sekunder (10.000 ms) som en maksimal ventetid.

  9. I noden Angiv variabelværdi skal du angive den standardværdi, der skal bruges, hvis timeout er nået. På kørselstidspunktet forventer din agent værdier med samme datatype. Hvis denne standardværdi skal være en tom streng, skal du bruge Text("") som formel.

    Skærmbillede af konfigurationen af en global variabel, der skal angives fra en ekstern kilde.

  10. For eventuelle andre værdier, du forventer kommer fra et eksternt system, skal du tilføje flere Angiv variabel værdi-noder til dit dedikerede emne og konfigurere de påkrævede globale variabler på samme måde.

Når du konfigurerer din agent på denne måde, er den klar til test. Når helpdesk-medarbejderen aktiveres, kan helpdesk-medarbejderen straks begynde at sende meddelelser, der ikke er afhængige af, at variablerne overføres, i stedet for at vente uendeligt på, at alle variabler udfyldes. Når din agent forsøger at få adgang til en variabel, der angives eksternt, afbrydes den midlertidigt, indtil værdien ankommer, eller der opstår timeout. Få mere at vide i Optimer agenter for at minimere ventetiden.

Vigtigt!

Hvis din agent angiver en variabel, der ellers ville komme fra en ekstern værdi, vil den værdi, der er angivet fra din agent, være gældende under det normale flow for en samtale. Enhver værdi, der overføres i kontekst, ignoreres. Denne regel forhindrer din agent i at overskrive værdier, der bevidst er angivet i emner.

Angive globale variabler i en integreret agent

Hvis du indlejrer din agent på en simpel webside, kan du føje variabler og deres definitioner til agentens URL-adresse. Eller hvis du vil have lidt mere kontrol, kan du bruge en <script>-kodeblok til at kalde og bruge variabler via programmering.

Variabelnavnet i forespørgselsstrengen for URL-adressen skal matche navnet for den globale variabel uden præfikset Global.. For en global variabel Global.UserName kan du f.eks. kun UserName bruge den i forespørgslen.

I følgende eksempler bruges en grundlæggende erklæring for variablerne. I et produktionsscenarie kan du angive en anden variabel, der allerede gemmer brugerens navn (f.eks. hvis du har brugernavnet fra et logonscript) som forespørgselsparameteren eller variabeldefinitionen.

Tilføj variablerne og deres definitioner til agentens URL-adresse som forespørgselsstrengparametre i formatet botURL?variableName1=variableDefinition1&variableName2=variableDefinition2.

Eksempel:

Der skelnes mellem store og små bogstaver i parameternavnet: username=Ana fungerer også i dette eksempel.

Tilføj globale variabler til et brugerdefineret lærred

Du kan også tilføje variablen til et brugerdefineret lærred.

  1. I sektionen <script> på siden, hvor du har din agent, skal du definere variablerne på følgende måde og erstatte variableName1 med variabelnavnet uden Global.-præfikset og variableDefinition1 med definitionen. Adskil flere variabler med kommaer (,).

       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);
        });
    
  2. I sektionen <script> skal du kalde store, når du integrerer din agent, som i følgende eksempel, hvor store kaldes lige før, hvor styleOptions blev kaldt (du skal erstatte BOT_ID med din agents 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));
    

Afhængigt af agentens godkendelsesopsætning, har du et sæt globale variabler, der er knyttet til den valgte godkendelsesudbyder. Du kan finde flere oplysninger om, hvilke sæt variabler der er tilgængelige, og hvordan de bruges, i Tilføj brugergodkendelse i emner.