Del via


Arbeid med globale variabler

Variabler lagrer kundenes svar på spørsmål fra agenten. Du kan for eksempel lagre navnet på en kunde i en variabel kalt UserName. Agenten kan deretter henvende seg til kunden ved navn mens samtalen fortsetter.

Som standard kan en variabels verdi bare brukes i emner der variabelen blir opprettet. Det er imidlertid mulig å bruke samme verdi på nytt på tvers av emner. I et Velkommen-emne spør for eksempel roboten etter kundens navn og e-postadresse. I emnet Avtalebestilling vil du at agenten skal huske hva kunden skrev inn, og ikke spørre på nytt.

En måte å gjenbruke en variabel på er å sende variabelen fra et emne til et annet. Den andre måten er å gjøre variabelen global i omfang, og det er det denne artikkelen omhandler. Globale variabler kalles dette fordi de er tilgjengelige i alle emner på tvers av hele agenten. De kan også angis fra eksterne kilder.

Globale variabler gjelder under én enkelt brukerøkt. Du angir hvilke variabler som er globale variabler, for å skille dem fra variabler på emnenivå.

Opprette en global variabel

Du kan opprette en global variabel ved å endre omfanget for en emnevariabel.

Notat

Navnet på en global variabel må være unikt på tvers av alle emner.

  1. Opprett en variabel, eller bruk Variabler-panelet til å åpne en eksisterende variabel.

  2. I panelet 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.

  3. Lagre emnet.

Bruke globale variabler

Når du skriver en melding i en meldingsnode eller en spørsmålsnode, 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. Denne funksjonen kan være nyttig hvis du arbeider med en ny agent, eller hvis du har flere variabler og en kompleks emneforgrening.

  1. Velg den ønskede globale variabelen på redigeringslerretet eller i Variabler-panelet.

  2. I panelet Egenskaper for variabel, i Referanse-delen, velg Vis alle referanser.

  3. Bytt til Annet-fanen, og velg et emne der variabelen brukes til å gå direkte til emnet og noden.

Slette globale variabler

Hvis du fjerner en global variabel som brukes i andre emner, blir referansene til denne variabelen i emnene merket som Unknown. Det vises en advarsel om sletting av den globale variabelen før du kan bekrefte operasjonen.

Noder som inneholder referanser til en slettet global variabel, indikerer at de inneholder en ukjent variabel.

Emner med noder som inneholder referanser til slettede globale variabler, kan slutte å fungere. Kontroller at du fjerner eller retter alle emnene som brukte den slettede variabelen, før du publiserer agenten.

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. Når en omadressering utløser dette emnet (eller når brukeren skriver inn et uttrykk som "Start på nytt"), tilbakestilles alle globale variabler.

Angi globale variabler fra eksterne kilder

Hvis du vil sikre at agenten starter en samtale med en kontekst, kan du bruke en global variabel og angi verdien fra en ekstern kilde. La oss si at området krever at brukere logger seg på. Hvis du lagrer en brukers navn i en global variabel og sender det til agenten din, kan agenten hilse på kunder med navn før de begynner å skrive inn sitt første spørsmål. I et annet eksempelscenario overføres kontekst fra Dynamics 365 Customer Service til en agent, slik at den kan starte samtalen med kunnskap om hva kunden ønsker å oppnå.

For å unngå uønsket ventetid kan du angi hvor lenge agenten kan vente på en verdi. Du kan også angi en standardverdi som skal brukes når den eksterne kilden ikke svarer i tide.

Notat

Agenter som publiseres til Dynamics 365 Contact Center-kanalen for IVR-brukstilfeller, støtter ikke tidsavbruddsverdier konfigurert for globale variabler angitt av eksterne kilder.

  1. Opprett et dedikert emne for å holde konfigurasjonen for alle variablene som skal angis fra eksterne kilder. Du kan for eksempel kalle dette emnet «Angi kontekstvariabler». Dette emnet brukes ikke til andre formål, så det trenger ikke å ha angitt utløseruttrykk.

  2. Legg til noden Angi variabelverdi i det dedikerte emnet.

  3. Under Angi variabel åpner du variabelvelgeren og velger Opprett ny variabel.

  4. Velg standardnavnet på den nye variabelen. Panelet Variabelegenskaper vises.

  5. Erstatt standardnavnet med et som samsvarer nøyaktig med navnet på variabelen som sendes inn fra det eksterne systemet.

  6. Under Bruk velger du Global (alle emner har tilgang) og Eksterne kilder kan angi verdier.

  7. Under Referanse velger du de tre prikkene () i øvre høyre hjørne og deretter Hent verdi fra denne noden hvis tom.

  8. (Valgfritt) Angi en tidsavbruddsforsinkelse i millisekunder. Denne verdien fastsetter hvor lenge agenten kan vente på at variabelen angis av en ekstern kilde før den blir tidsavbrutt og fortsetter med standardverdien du angir i noden Angi variabelverdi. Denne innstillingen er relevant i scenarier der variabelen avhenger av en langvarig eller asynkron prosess, men agenten må respektere maksimal ventetid for å sikre en god brukeropplevelse.

    For variabler som kommer fra Omnikanal for Customer Service, foreslår vi en verdi på 10 sekunder (10 000 ms) som maksimal ventetid.

  9. I noden Angi variabelverdi angir du standardverdien som skal brukes hvis tidsavbrudd nås. Ved kjøretid forventer agenten verdier med samme datatype. Hvis du vil at denne standardverdien skal være en tom streng, bruker du Text("") som formel.

    Skjermbilde av konfigurasjonen for en global variabel som skal angis fra en ekstern kilde.

  10. Når det gjelder andre verdier du forventer vil komme fra et eksternt system, legger du til flere Angi variabelverdi-noder i det dedikerte emnet og konfigurerer de nødvendige globale variablene på samme måte.

Dermed konfigurert, er agenten din klar til å teste. Når agenten startes, kan agenten umiddelbart begynne å sende meldinger som ikke er avhengige av variablene som sendes inn, i stedet for å vente på ubestemt tid på at alle variablene skal fylles ut. Når agenten prøver å få tilgang til en variabel som angis eksternt, stanser den midlertidig til verdien ankommer eller tidsavbruddet oppstår. Finn ut mer om hvordan du optimaliserer agenter for å minimere ventetiden.

Viktig!

Hvis agenten angir en variabel i den normale flyten i en samtale som ellers hadde kommet for en ekstern verdi, er det verdien som er angitt i agenten som gjelder. Verdier som sendes i kontekst, ignoreres. Denne regelen hindrer agenten i å overskrive verdier som med hensikt er angitt i emner.

Angi globale variabler i en innebygd agent

Hvis du bygger inn agenten på en enkel nettside, kan du legge til variabler og tilhørende definisjoner i agentens nettadresse. 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 bruker en grunnleggende 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 agenten som spørringsstrengparametere i formatet botURL?variableName1=variableDefinition1&variableName2=variableDefinition2.

Eksempel:

Det skilles mellom små og store bokstaver i parameternavnet. username=Ana vil også fungere i dette eksemplet.

Legg til globale variabler i et egendefinert lerret

Du kan også legge til variabelen i et egendefinert lerret.

  1. I <script>-delen på siden der du har agenten, 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);
        });
    
  2. I <script>-delen kaller du store når du bygger inn agenten, som i følgende eksempel hvor store kalles like før der styleOptions kalles (du må erstatte BOT_ID med ID-en til agenten 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));
    

Avhengig av agentens godkjenningsoppsett har du et sett med globale variabler som er knyttet til den valgte godkjenningsleverandøren. Hvis du vil ha mer informasjon om hvilke variabler som er tilgjengelige og hvordan du bruker dem, kan du se dokumentasjonsemnet Legg til brukergodkjenning i emner.