Delen via


Werken met variabelen

U kunt variabelen gebruiken om reacties van klanten op te slaan en de inhoud ervan later in het gesprek te hergebruiken.

U kunt ook variabelen gebruiken om logische uitdrukkingen te maken die de klant dynamisch langs verschillende gesprekspaden leiden. Sla bijvoorbeeld de naam van een klant op in een variabele met de naam 'customerName' en de agent kan de klant bij naam aanspreken terwijl het gesprek voortgaat.

Variabelen kunnen ook worden doorgegeven aan en geretourneerd van andere onderwerpen en Power Automate-stromen.

Een variabele maken

Met elk knooppunt dat u vraagt een variabele als uitvoer te selecteren, zoals een knooppunt Vraag, wordt automatisch een uitvoervariabele van het geschikte type gemaakt.

Schermopname van een vraagknooppunt, met de naam en het type van de standaardvariabele gemarkeerd.

Tip

Geef knooppunten een nieuwe naam, zodat u ze gemakkelijker kunt identificeren. Selecteer het naamveld van het knooppunt om de naam rechtstreeks bij te werken of selecteer het pictogram Meer () van het knooppunt en vervolgens Naam wijzigen in het menu. U kunt ook de namen van knooppunten wijzigen in de code-editor.

Het is niet mogelijk om Trigger-knooppunten en Ga naar stap-knooppunten te hernoemen.

Namen van knooppunten mogen maximaal 500 tekens lang zijn.

Een entiteit kiezen om te gebruiken

Standaard worden Vraag-knooppunten gemaakt met meerkeuzeopties. Als u een andere vooraf gebouwde of aangepaste entiteit wilt gebruiken, schakelt u het vakje Identificeren in en kiest u het type informatie waarnaar de agent moet luisteren.

Schermopname van een vraagknooppunt met het paneel 'Informatie kiezen voor identificatie' geopend.

Variabelenaam wijzigen

Aan variabelen wordt automatisch een naam toegewezen wanneer u ze maakt. Als best practice is het goed om uw variabelen betekenisvolle namen te geven, zodat hun doel duidelijk is voor iedereen die uw agent moet onderhouden.

  1. Selecteer de variabele om deze te openen in het deelvenster Variabele-eigenschappen.

  2. Voer onder Variabelenaam een nieuwe naam voor uw variabele in.

Een variabele instellen

Normaal gesproken gebruikt u een Vraag knooppunt om gebruikersinvoer op te slaan in een variabele. Er kunnen zich echter situaties voordoen waarin u de waarde van een variabele zelf wilt instellen. Gebruik in deze gevallen het knooppunt Variabelewaarde instellen.

  1. Selecteer Knooppunt toevoegen (+) om een ​​knooppunt toe te voegen en selecteer vervolgens Variabelebeheer>Een waarde voor een variabele instellen.

  2. Selecteer het vakje onder Variabele instellen en selecteer vervolgens Een nieuwe variabele maken.

    Schermopname van de knop Een nieuwe variabele maken.

    Een nieuwe variabele wordt gemaakt. Het type ervan is onbekend totdat u er een waarde aan toewijst.

    Schermopname van een knooppunt Variabelewaarde instellen met een nieuwe waarde van een onbekend type.

  3. Wijs voor Tot-waarde een waarde toe met een van de volgende opties:

    • Typ een letterlijke waarde.
    • Selecteer een bestaande variabele van hetzelfde type. Met deze actie wordt uw variabele ingesteld op dezelfde waarde als de variabele die u selecteert.
    • Gebruik een Power Fx-formule. Power Fx-formules zijn handig voor complexere typen, waarbij geen letterlijke waarden kunnen worden gebruikt, zoals tabel- en recordtypen.

Opmerking

Als u tijdens het instellen van een variabele van het type tekenreeks een mismatch tegenkomt tussen Variabele instellen en Aan-waarde, verschijnt er een foutmelding en de knop Mismatch van type herstellen. Selecteer de knop om door Copilot Studio automatisch een Power Fx-formule te laten genereren die de mismatch oplost.

Variabelen gebruiken in actieknooppunten

Wanneer u een variabele in een actieknooppunt gebruikt en het basistype ervan overeenkomt met een parametertype dat is opgegeven voor een stroom of voor een Bot Framework-vaardigheid, kunt u het aan die parameter toevoegen. De uitvoer van actieknooppunten genereert nieuwe variabelen.

Schermopname van een actieknooppunt met invoer- en uitvoerparameters voor een vaardigheidsactie.

Letterlijke waarden gebruiken voor variabele invoer

In knooppunten waar u een waarde voor invoerparameters kunt instellen, kunt u altijd een letterlijke waarde invoeren in plaats van een andere variabele als waarde te selecteren.

Schermopname van het gebruik van een letterlijke waarde voor een variabele invoerparameter met de naam productName.

Het knooppunt probeert letterlijke waarden te interpreteren als een tekenreeks, een getal of een Booleaanse waarde. Zo wordt 123 als een getal geïnterpreteerd. Als u dit in plaats daarvan als een tekenreekswaarde wilt interpreteren, kunt u de waarde tussen dubbele aanhalingstekens plaatsen, zoals: "123".

Voor sommige scenario's (bijvoorbeeld scenario's met complexe typen) moet u mogelijk een Power Fx formule gebruiken om een specifiek type in te stellen.

Omgevingsvariabelen voor Azure Key Vault-geheimen gebruiken

Een omgevingsvariabele kan verwijzen naar een geheim in de Key Vault. Geheime omgevingsvariabelen zijn een speciaal geval van omgevingsvariabelen met unieke overwegingen.

Als u een geheime omgevingsvariabele wilt maken in de Power Apps-portal moet u de Key Vault ervan configureren.

Om Copilot Studio toestemming te geven om deze Key Vault te lezen, moet u de volgende acties uitvoeren:

  1. Wijs de rol Key Vault Secrets User toe aan de toepassing Microsoft Virtual Agents Service.

  2. Om alle agenten uit de omgeving toegang te verlenen tot het geheim, maakt u een AllowedEnvironments-tag aan voor het geheim en voegt u de toegestane omgevings-id's toe, gescheiden door komma's.

  3. Om alleen specifieke agenten van de omgeving toestemming te geven om deze Key Vault te gebruiken, maakt u een AllowedAgents-tag en plaatst u de agent-id in de notatie {envId}/{schemaName}. Bij meerdere waarden moet u deze scheiden met komma's.

Als u het maximale aantal tekens hebt bereikt, maar nog meer agenten moet toevoegen, voegt u nog een tag toe met een beschrijvende maar unieke naam (bijvoorbeeld: AllowedAgents2).

De geheime waarde wordt gedurende vijf minuten in de Dialog-runtime opgeslagen. Mislukte leesbewerkingen worden 30 seconden lang in de cache opgeslagen.

Waarschuwing

Door het geheim toe te voegen in de agent, geeft u de waarde van dit geheim mogelijk bloot aan alle gebruikers die de agent in de omgeving kunnen bewerken, omdat dergelijke gebruikers de agent kunnen bewerken om de waarde in het knooppunt SendMessage te retourneren.

Deelvenster Variabelen

In het deelvenster Variabelen kunt u alle variabelen bekijken die beschikbaar zijn voor een onderwerp, ongeacht in welke knooppunten ze zijn gedefinieerd of worden gebruikt. Voor elke variabele kunt u selecteren of deze de waarde kan ontvangen van andere onderwerpen, de waarde kan retourneren aan andere onderwerpen, of beide. U kunt ook een variabele selecteren om de eigenschappen ervan te bewerken in het deelvenster Variabele-eigenschappen.

U kunt het deelvenster Variabelen openen door op de menubalk van het onderwerp de optie Variabelen te selecteren.

Schermopname van het deelvenster Variabelen in het Copilot Studio-ontwerpcanvas met de knop Variabelen gemarkeerd.

Deelvenster Variabele-eigenschappen

In het deelvenster Variabele-eigenschappen kunt u de naam van een variabele wijzigen, bekijken waar een variabele wordt gebruikt of een variabele converteren naar een algemene variabele. U kunt een algemene variabele echter niet terugzetten naar een onderwerpvariabele. U kunt ook selecteren of een onderwerpvariabele waarden kan ontvangen van andere onderwerpen of deze waarden kan doorgeven aan andere onderwerpen.

Om het deelvenster Eigenschappen van variabele voor een variabele te openen, selecteert u de gewenste variabele in deelvenster Variabelen. U kunt het deelvenster Variabele-eigenschappen ook openen door een variabele in een willekeurig knooppunt te selecteren.

Variabelen doorgeven tussen onderwerpen

Wanneer u één onderwerp omleidt naar een ander, kunt u de waarden van variabelen van het oorspronkelijke onderwerp doorgeven aan het doelonderwerp en ook waarden van het doelonderwerp retourneren naar het oorspronkelijke onderwerp. Het doorgeven van variabelen tussen onderwerpen is vooral handig als een eerder onderwerp al informatie heeft verzameld die een later onderwerp nodig heeft. Uw gebruikers zullen het op prijs stellen dat ze dezelfde vragen niet opnieuw hoeven te beantwoorden.

Waarden van andere onderwerpen ontvangen

Wanneer een onderwerp een variabele definieert (bijvoorbeeld in een Vraag knooppunt), vraagt de agent de gebruiker de waarde van de variabele in te vullen. Als de waarde al in een eerder onderwerp door de agent is verworven, is er geen reden om de vraag opnieuw te stellen. In deze gevallen kunt u de variabele instellen op Waarden van andere onderwerpen ontvangen. Wanneer een ander onderwerp naar dit onderwerp omleidt, kan het de waarde van een variabele of een letterlijke waarde aan deze variabele doorgeven en de vraag overslaan. De ervaring voor de eindgebruiker die met de agent praat, is naadloos.

In dit voorbeeld gebruiken we twee onderwerpen: Begroeting en Praten met klant. Beide onderwerpen vragen om de naam van de klant. Als het onderwerp Begroeting echter eerst wordt uitgevoerd, slaat het onderwerp Praten met klant de vraag over. In plaats daarvan wordt de waarde van de variabele gebruikt die is doorgegeven vanuit het onderwerp Begroeting.

Dit is het verloop van het onderwerp Praten met klant:

Schermopname van de gespreksstroom voor het onderwerp Praten met klant.

Zoals getoond in het testpaneel, wordt de gebruiker bij het eerste activeren van dit onderwerp gevraagd: "Hoe moet ik je noemen?" De waarde wordt opgeslagen in een tekenreeksvariabele met de naam customerName. De variabele customerName wordt ook ingesteld om zijn waarde uit andere onderwerpen te halen. Het onderwerp wordt afgesloten met de boodschap: "Ik wens je een fijne dag, customerName!"

Dit is het verloop van het onderwerp Begroeting:

Schermopname van de gespreksstroom voor het onderwerp Begroeting.

Zoals getoond in het testpaneel, wordt de gebruiker bij het eerste activeren van dit onderwerp gevraagd: "Hoe heet je?" De waarde wordt opgeslagen in een tekenreeksvariabele met de naam customerName. Het onderwerp stuurt het bericht 'Leuk u te ontmoeten, klantnaam!' Vervolgens wordt het gesprek omgeleid naar het onderwerp Praten met klant, dat het bericht 'Ik wens je een fijne dag, klantnaam!' stuurt. Houd er echter rekening mee dat het onderwerp Praten met klant het opnieuw vragen naar de naam van de gebruiker heeft overgeslagen. In plaats daarvan is de waarde van de variabele customerName gebruikt die is doorgegeven vanuit het onderwerp Begroeting.

Tot slot is hier dat tweede gesprek opnieuw, maar dit keer vanuit het perspectief van het onderwerp Praten met klant:

Schermopname van de gespreksstroom voor het onderwerp Praten met klant wanneer het onderwerp Begroeting als eerste wordt geactiveerd.

Laten we de stappen doorlopen om een onderwerp in te stellen om waarden van andere onderwerpen te ontvangen. In ons voorbeeldscenario gebruiken we het vooraf gedefinieerde onderwerp Begroeting als brononderwerp en een nieuw onderwerp Praten met klant als doelonderwerp. Dezelfde stappen werken echter voor elk onderwerp dat, indien mogelijk, een waarde uit een eerder onderwerp moet gebruiken.

Het doelonderwerp instellen

Het doelonderwerp is het onderwerp waarnaar wordt omgeleid, dat waarden van andere onderwerpen ontvangt. In ons voorbeeld is dat Praten met klant.

  1. Maak een nieuw onderwerp en noem het 'Praten met klant'.

  2. Voeg triggerzinnen toe, zoals 'praat met me', 'spreek met me', 'chat met me'.

  3. Voeg een Vraag knooppunt toe en voer "Hoe moet ik je noemen?" in voor het bericht.

  4. Selecteer onder Identificeren de vooraf gebouwde entiteit Persoonsnaam.

  5. Selecteer de naam van de variabele. Het paneel Eigenschappen van variabele wordt geopend.

  6. Vervang de standaardnaam door "customerName" en selecteer vervolgens Waarden ontvangen uit andere onderwerpen.

    Schermopname van het paneel 'Eigenschappen van variabele' met de variabele customerName en de eigenschappen ervan.

  7. Voeg een Bericht-knooppunt toe.

  8. Typ in het berichtvak: "Ik wens je een fijne dag".

  9. Selecteer het pictogram Variabele invoegen ({x}) en selecteer vervolgens customerName.

  10. Selecteer de spatie na de variabele en voer "!" in.

  11. Sla het onderwerp op.

Het brononderwerp instellen

Het brononderwerp is het onderwerp dat de omleiding uitvoert, het onderwerp dat de waarde levert en doorgeeft aan het doelonderwerp. In ons voorbeeld is dit Begroeting.

  1. Ga naar het onderwerp Begroeting en verwijder de standaardknooppunten, behalve het Trigger knooppunt.

  2. Voeg een Vraag knooppunt toe en voer "Hoe heet je?" in voor het bericht.

  3. Selecteer onder Identificeren de vooraf gebouwde entiteit Persoonsnaam.

  4. Vervang de standaardnaam door "customerNameFromGreeting".

  5. Voeg een Bericht-knooppunt toe.

  6. Typ in het berichtvak "Leuk u te ontmoeten, ".

  7. Selecteer het pictogram Variabele invoegen ({x}) en selecteer vervolgens customerNameFromGreeting.

  8. Selecteer de spatie na de variabele en voer "!" in.

  9. Voeg een Omleiden knooppunt toe en selecteer het doelonderwerp Praten met klant.

  10. Selecteer Invoer toevoegen en selecteer vervolgens de variabele uit het doelonderwerp waaraan u een waarde wilt doorgeven.

    Schermopname van het onderwerp Begroeting met de variabele customerName toegevoegd als invoer in een omleidingsknooppunt.

  11. Selecteer het pictogram > en selecteer vervolgens de variabele waarvan u de waarde wilt doorgeven, in dit voorbeeld is dit customerNameFromGreeting.

    Het Omleiding knooppunt moet er als volgt uitzien:

    Schermopname van het voltooide omleidingsknooppunt in het onderwerp Begroeting.

  12. Sla het onderwerp op.

Waarden retourneren naar oorspronkelijke onderwerpen

Wanneer naar een onderwerp wordt omgeleid en het onderwerp een variabele verkrijgt door een vraag te stellen of op een andere manier, kan de variabele worden geretourneerd naar het oorspronkelijke onderwerp. De variabele wordt onderdeel van het oorspronkelijke onderwerp en kan als elke andere variabele worden gebruikt. De informatie die de agent verkrijgt, is dus binnen verschillende onderwerpen beschikbaar, waardoor de behoefte aan algemene variabelen afneemt.

Laten we verdergaan met het voorbeeld uit het vorige gedeelte. We stellen een nieuwe vraag in het onderwerp Praten met klant en sturen het antwoord vervolgens terug naar het onderwerp Begroeting.

Het brononderwerp instellen voor een geretourneerde variabele

Wanneer u een variabele retourneert aan een onderwerp, is het brononderwerp het onderwerp dat de waarde levert die aan het oorspronkelijke onderwerp moet worden doorgegeven. In dit voorbeeld is Praten met klant het brononderwerp.

  1. Ga naar het brononderwerp.

  2. Voeg een Vraag knooppunt toe en voer "In welke stad woon je?" in voor het bericht.

  3. Selecteer onder Identificeren de vooraf gebouwde entiteit Plaats.

  4. Selecteer de variabele om deze te openen in het deelvenster Variabele-eigenschappen. Geef het de naam 'customerCity' en selecteer vervolgens Waarden teruggeven aan oorspronkelijke onderwerpen.

    Schermopname van het onderwerp Praten met klant met de variabele customerCity en de bijbehorende eigenschappen gemarkeerd.

  5. Voeg een Bericht-knooppunt toe.

  6. Selecteer het pictogram Variabele invoegen ({x}) en selecteer vervolgens customerCity.

  7. Voer na de variabele in het berichtvak het volgende in: "Het moet prachtig zijn in deze tijd van het jaar!".

  8. Sla het onderwerp op.

Het doelonderwerp instellen voor een geretourneerde variabele

Wanneer u een variabele retourneert aan een onderwerp, is het doelonderwerp het onderwerp dat waarden van het huidige onderwerp ontvangt. In ons voorbeeld is Begroeting het doelonderwerp.

  1. Ga naar het doelonderwerp.

  2. De variabele die u in het brononderwerp hebt geselecteerd, moet op het Omleiden knooppunt worden weergegeven als uitvoervariabele.

    Schermopname van de gespreksstroom voor het onderwerp Begroeting met een geretourneerde variabele in een omleidingsknooppunt.

  3. Sla het onderwerp op.

Het knooppunt Waarde parseren

Met het knooppunt Waarde parseren kunt u een waarde van het ene type converteren naar een waarde van een ander type. Wanneer u een knooppunt aan een onderwerp toevoegt, selecteert u het pictogram Knooppunt toevoegen, wijst u naar Beheer van variabelen en selecteert u Waarde parseren.

Dit is een schermopname van het menu om een knooppunt toe te voegen, selecteer Beheer van variabelen en vervolgens Waarde parseren.

Sleutelscenario's waarin het knooppunt Waarde parseren wordt gebruikt, richten zich op het converteren van onbewerkte JSON-variabelen of niet-getypeerde variabelen (waarvan de waarde of structuur pas tijdens runtime bekend is; bijvoorbeeld ChannelData) naar concrete typen.

Het proces begint wanneer een stroom wordt aangeroepen, die op zijn beurt een API aanroept. De API retourneert vervolgens een resultaat. Normaal gesproken moet u deze respons parseren en een of meer primitieve variabelen retourneren. Met het knooppunt Waarde parseren kunt u het volledige API-resultaat als een tekenreeks verzenden. Bijvoorbeeld:

{
    "Name": "Parker",
    "Position": "Product manager",
    "Company": "Contoso",
    "FormerPositions": [{
            "Position": "Customer service representative"
        }
    ]
}

De tekenreeksvariabele die u nu hebt, kan worden geconverteerd naar een Record-variabele, met volledige intellisense-ondersteuning in Power Fx, met behulp van dit nieuwe knooppunt. Een voorbeeld met voorbeeldgegevens helpt dit proces te illustreren.

Voorbeeld van het gebruik van het knooppunt Waarde parseren

  1. Voeg een knooppunt Waarde parseren toe en selecteer de variabele die u wilt parseren.

    Schermopname van selectie van de te parseren variabele.

  2. Selecteer het gegevenstype. Kies in dit geval Uit voorbeeldgegevens.

    Schermopname van de selectie van het gegevenstype voor een knooppunt Waarde parseren.

  3. Selecteer Schema ophalen uit voorbeeld-JSON en voer het gewenste JSON-voorbeeld in de editor in die wordt geopend.

    Schermopname van Schema ophalen uit voorbeeld-JSON.

  4. Geef ten slotte op in welke variabele u de geparseerde waarde wilt plaatsen. Meestal zou u hiervoor een nieuwe variabele maken.

    Schermopname van de selectie van een doelwaarde voor een geparseerde waarde.

    De uitvoervariabele is nu van het juiste type: Record.

    Schermopname van de doelvariabele voor de geparseerde gegevens met het gewenste type: Record.

Naast het parseren van JSON-tekenreeksen is een belangrijk gebruik van het knooppunt Waarde parseren het parseren van UntypedObjects tijdens runtime. Het meest voorkomende gebruiksscenario is wanneer u een gebeurtenis ontvangt en u de gebeurteniswaarde moet parseren. Of u wilt mogelijk de eigenschap System.Activity.ChannelData parseren, die tijdens runtime per kanaal varieert.

Als u informatie uit een gebeurtenis afkomstig van Teams wilt parseren, moet u de ontwikkelaarsdocumentatie van Teams raadplegen om een voorbeeld te vinden van hoe de verwachte gebeurtenis eruit zou kunnen zien. Dit voorbeeld kunt u vervolgens gebruiken als voorbeeldgegevens, zoals eerder in dit gedeelte sectie is beschreven.