Werken met globale variabelen

Variabelen slaan de reacties van uw klanten op vragen van uw agent op. U kunt bijvoorbeeld de naam van een klant opslaan in een variabele met de naam UserName. De agent kan de klant vervolgens met zijn naam aanspreken als het gesprek wordt voortgezet.

Standaard kunt u alleen de waarde van een variabele gebruiken in het onderwerp waarin u de variabele hebt gemaakt. Het is echter mogelijk dat u een waarde in meerdere onderwerpen opnieuw wilt gebruiken. In een Welkom-onderwerp vraagt de bot bijvoorbeeld om de naam en het e-mailadres van de klant. In het onderwerp Afspraakboeking wilt u dat de agent weet wat de klant al heeft opgegeven en niet opnieuw vraagt.

U kunt een variabele opnieuw gebruiken door de variabele van het ene onderwerp naar het andere door te geven. U kunt de variabele ook een globaal bereik geven. In dit artikel worden globale variabelen behandeld. Ze worden globale variabelen genoemd omdat ze beschikbaar zijn in alle onderwerpen in de hele agent. Uw agent kan deze ook instellen vanuit externe bronnen.

Algemene variabelen zijn van toepassing tijdens één gebruikerssessie. U geeft op welke variabelen algemene variabelen zijn om ze te onderscheiden van variabelen op onderwerpniveau.

Een algemene variabele maken

U kunt een algemene variabele maken door het bereik van een onderwerpvariabele te wijzigen.

Note

De naam van een algemene variabele moet voor alle onderwerpen uniek zijn.

  1. Maak een variabele of gebruik het paneel Variabelen om een bestaande variabele te openen.

  2. Selecteer in het paneel Variabele-eigenschappen de optie Algemeen (elk onderwerp heeft toegang). De naam van de variabele haalt het voorvoegsel Global. op om dit te onderscheiden van variabelen op onderwerpniveau. De variabele UserName wordt Global.UserNamebijvoorbeeld .

  3. Sla het onderwerp op.

Algemene variabelen gebruiken

Wanneer u een bericht opstelt in een berichtknooppunt of een vraagknooppunt , selecteert u het pictogram {x} om de variabelen weer te geven waartoe het onderwerp toegang heeft. U kunt ook globale variabelen gebruiken in toolknooppunten die prompts of werkstromen aanroepen. Globale variabelen worden weergegeven op het tabblad Aangepast , samen met eventuele onderwerpvariabelen. Variabelen worden in alfabetische volgorde weergegeven.

Alle onderwerpen zoeken die gebruikmaken van een globale variabele

U kunt vinden waar een globale variabele is gedefinieerd en welke andere onderwerpen deze gebruiken. Deze functie is handig als u aan een nieuwe agent werkt of als u meerdere variabelen en complexe onderwerpvertakkingen hebt.

  1. Selecteer de gewenste globale variabele op het ontwerpcanvas of in het deelvenster Variabelen .

  2. Selecteer in het paneel Variabele-eigenschappen in de sectie Verwijzing de optie Alle verwijzingen weergeven.

  3. Ga naar het tabblad Overig en selecteer een onderwerp waarin de variabele wordt gebruikt om direct naar dat onderwerp en knooppunt te gaan.

Algemene variabelen verwijderen

Als u een globale variabele verwijdert die in andere onderwerpen wordt gebruikt, worden de verwijzingen naar die variabele in de onderwerpen weergegeven als Unknown. U krijgt een waarschuwing over het verwijderen van de globale variabele voordat u de bewerking kunt bevestigen.

Knooppunten die verwijzingen naar een verwijderde algemene variabele bevatten, geven aan dat ze een onbekende variabele bevatten.

Onderwerpen met knooppunten die verwijzingen bevatten naar verwijderde algemene variabelen, werken mogelijk niet meer. Zorg ervoor dat u alle onderwerpen die de nu verwijderde variabele hebben gebruikt, verwijdert of corrigeert voordat u de agent publiceert.

Levenscyclus van algemene variabelen

Standaard blijft een globale variabele waarde behouden totdat de sessie wordt beëindigd. Met het knooppunt Variabele waarden wissen worden de waarden van globale variabelen opnieuw ingesteld. In het onderwerp Gesprekssysteem opnieuw instellen wordt dit knooppunt gebruikt. Wanneer een omleiding dat onderwerp activeert (of wanneer de gebruiker een zin invoert zoals "Opnieuw beginnen"), worden alle algemene variabelen opnieuw ingesteld.

Globale variabelen instellen vanuit externe bronnen

Als u ervoor wilt zorgen dat de agent een gesprek start met een bepaalde context, gebruikt u een globale variabele en stelt u de waarde ervan in vanuit een externe bron. Stel dat uw site vereist dat gebruikers zich aanmelden. Als u de naam van een gebruiker opslaat in een algemene variabele en deze doorgeeft aan uw agent, kan deze de klanten met hun naam aanspreken voordat ze hun eerste vraag beginnen te typen. Een ander voorbeeldscenario is het doorgeven van context van Dynamics 365 Customer Service aan een agent, zodat het gesprek kan beginnen met kennis van wat de klant wil bereiken.

Als u ongewenste latentie wilt voorkomen, geeft u op hoe lang uw agent kan wachten op een waarde. U kunt ook een standaardwaarde instellen die moet worden gebruikt wanneer de externe bron niet op tijd reageert.

Note

Agents die zijn gepubliceerd voor het Dynamics 365 Contact Center-kanaal voor IVR-gebruiksscenario’s, ondersteunen geen time-outwaarden die zijn geconfigureerd voor globale variabelen die afkomstig zijn van externe bronnen.

  1. Maak een toegewezen onderwerp om de configuratie vast te houden voor alle variabelen die vanuit externe bronnen moeten worden ingesteld. U zou dit onderwerp bijvoorbeeld 'Contextvariabelen instellen' kunnen noemen. Dit onderwerp dient geen andere doeleinden, dus er hoeven geen triggerzinnen te worden ingesteld.

  2. Voeg een Variabelewaarde instellen-knooppunt toe aan uw speciale onderwerp.

  3. Open onder Variabele instellen de variabelekiezer en selecteer Een nieuwe variabele maken.

  4. Selecteer de standaardnaam van de nieuwe variabele. Het deelvenster Variabele-eigenschappen verschijnt.

  5. Vervang de standaardnaam door een naam die exact overeenkomt met de naam van de variabele die wordt doorgegeven vanuit het externe systeem.

  6. Selecteer onder GebruikAlgemeen (alle onderwerpen hebben toegang) en Externe bronnen kunnen waarden instellen.

  7. Selecteer onder Referentie de drie puntjes () in de rechterbovenhoek en selecteer Waarde ophalen van dit knooppunt indien leeg.

  8. (Optioneel) Stel een time-outvertraging in milliseconden in. Met deze waarde bepaalt u hoe lang uw agent kan wachten tot de variabele door een externe bron is ingesteld voordat er een time-out optreedt en de standaardwaarde die u in het knooppunt Variabelewaarde instellen hebt ingesteld, wordt gebruikt. Deze instelling is relevant in scenario's waarin de variabele afhankelijk is van een langdurig of asynchroon proces, maar uw agent moet een maximale latentie respecteren om een goede gebruikerservaring te garanderen.

    Voor variabelen die afkomstig zijn van Omnichannel for Customer Service, gebruikt u een waarde van 10 seconden (10.000 ms) als maximale wachttijd.

  9. Voer in het knooppunt Variabelewaarde instellen de standaardwaarde in die moet worden gebruikt als de time-out is bereikt. Tijdens runtime verwacht uw agent waarden met hetzelfde gegevenstype. Als u wilt dat deze standaardwaarde een lege tekenreeks is, gebruikt u Text("") als formule.

    Schermafbeelding van de configuratie voor een algemene variabele die moet worden ingesteld vanuit een externe bron.

  10. Voor alle andere waarden waarvan u verwacht dat ze afkomstig zijn van een extern systeem, voegt u meer Variabelewaarde instellen-knooppunten toe aan uw speciale onderwerp en configureert u de vereiste globale variabelen op dezelfde manier.

Wanneer u uw agent op deze manier configureert, kunt u deze testen. Wanneer de agent wordt aangeroepen, hoeft u niet eindeloos te wachten tot alle variabelen zijn ingevuld. In plaats daarvan kunt u direct berichten verzenden, die niet afhankelijk zijn van de doorgegeven variabelen. Wanneer uw agent probeert toegang te krijgen tot een variabele die extern wordt ingesteld, wordt deze onderbroken totdat de waarde binnenkomt of de time-out optreedt. Meer informatie vindt u in Agents optimaliseren om de latentie te minimaliseren.

Important

Als uw agent tijdens de normale stroom van een gesprek een variabele instelt die anders afkomstig is van een externe waarde, heeft de waarde die is ingesteld vanuit uw agent voorrang. Elke waarde die in de context wordt doorgegeven, wordt genegeerd. Met deze regel voorkomt u dat uw agent waarden overschrijft die opzettelijk in onderwerpen zijn ingesteld.

Algemene variabelen instellen in een ingesloten agent

Als u uw agent insluit in een eenvoudige webpagina kunt u variabelen en hun definities toevoegen aan de URL van de agent. Of, als u wat meer controle wilt, kunt u een codeblok <script> gebruiken om variabelen programmatisch aan te roepen en te gebruiken.

De variabelenaam in de queryreeks van de URL moet overeenkomen met de naam van de algemene variabele zonder het voorvoegsel Global.. Voor een globale variabele Global.UserName wordt bijvoorbeeld alleen UserName in de query gebruikt.

In de volgende voorbeelden wordt een basisdeclaratie voor de variabelen gebruikt. In een productiescenario kunt u een andere variabele doorgeven waarin de naam van de gebruiker al is opgeslagen (bijvoorbeeld als u de gebruikersnaam uit een aanmeldingsscript hebt) als queryparameter of variabeledefinitie.

Voeg de variabelen en hun definities toe aan de URL van de agent als parameters voor de querytekenreeks in de notatie botURL?variableName1=variableDefinition1&variableName2=variableDefinition2.

Voorbeeld:

De parameternaam is niet hoofdlettergevoelig: username=Ana werkt ook in dit voorbeeld.

Algemene variabelen toevoegen aan een aangepast canvas

U kunt de variabele ook toevoegen aan een aangepast canvas.

  1. In de sectie <script> op de pagina waar u uw agent hebt, definieert u de variabelen als volgt en vervangt u variableName1 door de variabelenaam zonder de prefix Global. en variableDefinition1 door de definitie. Scheid meerdere variabelen met komma's (,).

       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. Roep in de sectie <script> de store aan wanneer u uw agent insluit, zoals in het volgende voorbeeld waar store wordt aangeroepen net voor waar styleOptions wordt aangeroepen (u moet de BOT_ID vervangen door de id van uw agent):

    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));
    

Afhankelijk van de verificatie-instellingen van de agent, beschikt u over een set algemene variabelen die zijn gekoppeld aan de gekozen verificatieprovider. Voor details over welke set variabelen beschikbaar is en hoe u deze kunt gebruiken, gaat u naar Gebruikersverificatie toevoegen aan een onderwerpen.