Delen via


Werken met variabelen

Gebruik variabelen om reacties van klanten op te slaan, zodat u de inhoud later in het gesprek opnieuw kunt gebruiken.

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 customerNameen de agent kan de klant op naam adresseren terwijl het gesprek wordt voortgezet.

U kunt variabelen doorgeven aan andere onderwerpen en terughalen uit Power Automate-stromen.

Een variabele maken

Elk knooppunt dat een uitvoer retourneert, zoals een vraagknooppunt , maakt automatisch een uitvoervariabele van het juiste type.

Schermopname van een vraagknooppunt, met de standaardnaam en het type van de variabele gemarkeerd.

Fooi

Geef knooppunten een nieuwe naam, zodat u ze gemakkelijker kunt identificeren. Selecteer het naamveld van de knoop om de naam direct bij te werken, of selecteer de drie stippen (...) van de knoop en selecteer Hernoemen vanuit 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

Vraagknooppunten maken standaard gebruik van opties voor meerdere keuzen. Als u een andere vooraf gedefinieerde of aangepaste entiteit wilt gebruiken, selecteert u het vak Identificeren en selecteert u vervolgens het gewenste type informatie.

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

Variabelenaam wijzigen

Vervang de standaardnaam van elke variabele door een betekenisvolle naam om uw agents gemakkelijker te onderhouden.

  1. Selecteer de variabele. Het deelvenster Variabele-eigenschappen verschijnt.

  2. Voer onder Variabelenaam de gewenste naam in voor de variabele.

Een variabele instellen

Normaal gesproken gebruikt u een vraagknooppunt om gebruikersinvoer op te slaan in een variabele. Mogelijk wilt u echter zelf de waarde van een variabele instellen. Gebruik in deze gevallen het knooppunt Variabelewaarde instellen.

  1. Selecteer het pictogram Knooppunt toevoegen onder het knooppunt waarna u een waardeknooppunt voor een variabele instellen wilt toevoegen.

  2. Selecteer Variabelebeheer>Stel een variabelewaarde in. Op het canvas verschijnt een knooppunt Instellen van variabelewaarde.

  3. Schakel het selectievakje onder Variabele instellen in. Het deelvenster Selecteer een variabele wordt weergegeven.

    • Als de variabele die u wilt instellen al bestaat, selecteert u deze.

    • Anders selecteert u Nieuw maken. Met deze actie maakt u een nieuwe variabele. 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.

  4. Voor To value, wijs een waarde toe door een van de volgende opties te gebruiken:

    • Typ een letterlijke waarde.

    • Selecteer een bestaande variabele van hetzelfde type.

    • Gebruik een Power Fx-formule. Power Fx-formules zijn handig voor complexere typen, waarbij geen letterlijke waarden kunnen worden gebruikt, zoals tabel- en recordtypen.

Variabelen gebruiken in actieknooppunten

Wanneer u een variabele in een actieknooppunt gebruikt, als het basistype overeenkomt met een parametertype dat is opgegeven voor een stroom of voor een Bot Framework-vaardigheid, kunt u deze aan die parameter toevoegen. Met de uitvoer van actieknooppunten worden nieuwe variabelen gegenereerd.

Zie de voorbeeldscenario's in Een agentstroom aanroepen vanuit een onderwerp en Invoer- en uitvoervariabelen gebruiken om informatie door te geven voor meer context.

Letterlijke waarden gebruiken voor variabele invoer

In een knooppunt waarin u een waarde voor invoerparameters instelt, kunt u een letterlijke waarde invoeren in plaats van een andere variabele te selecteren als de waarde.

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 wilt dat deze wordt geïnterpreteerd als een tekenreekswaarde, verpakt u de waarde in dubbele aanhalingstekens, zoals deze: '123'.

Voor sommige scenario's, zoals scenario's die complexe typen gebruiken, moet u mogelijk een Power Fx-formule gebruiken om een specifiek type in te stellen.

Omgevingsvariabelen gebruiken voor Azure Key Vault geheimen

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

Als u een geheime omgevingsvariabele wilt maken in Power Apps, moet u een Key Vault-kluis configureren.

Voltooi de volgende acties om Copilot Studio te machtigen om deze Key Vault-kluis te lezen:

  1. Wijs de rol Key Vault Secrets User toe aan de toepassing Microsoft Copilot Studio Service.

  2. Als u alle agents uit de omgeving toegang wilt geven tot het geheim, maakt u een tag AllowedEnvironments in het geheim en voegt u de toegestane omgevings-id's toe, gescheiden door komma's.

  3. Als u alleen specifieke agents uit de omgeving wilt autoriseren om deze kluis te gebruiken, maakt u een tag AllowedAgents en plaatst u de agent-ID in de indeling {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 Dialog Runtime slaat de geheime waarde vijf minuten in de cache op. Het slaat mislukte leesbewerkingen gedurende 30 seconden in de cache op.

Waarschuwing

Door het geheim toe te voegen in de agent, kunt u de waarde van dit geheim beschikbaar maken. Iedereen die de agent in de omgeving kan bewerken, kan een berichtknooppunt toevoegen en de waarde van de geheime omgevingsvariabelen in een bericht retourneren.

Paneel Variabelen

In het deelvenster Variabelen kunt u alle variabelen weergeven die beschikbaar zijn voor een onderwerp, ongeacht in welke knooppunten ze zijn gedefinieerd of gebruikt.

Als u het deelvenster Variabelen wilt openen, selecteert u Variabelen op de menubalk van het onderwerp.

Schermopname van het deelvenster Variabelen, met de knop Variabelen gemarkeerd.

Voor elke onderwerpvariabele kunt u selecteren of deze de waarde van andere onderwerpen kan ontvangen, de waarde ervan kan retourneren aan andere onderwerpen of beide. U kunt ook een variabele selecteren om de eigenschappen ervan te bewerken in het paneel Variabele-eigenschappen.

Paneel Variabele-eigenschappen

In het deelvenster Variabele-eigenschappen kunt u de naam van een variabele wijzigen, zien waar de agent deze gebruikt of deze converteren naar een globale variabele. U kunt een globale variabele 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.

Als u het paneel Variabele-eigenschappen voor een variabele wilt openen, selecteert u de gewenste variabele in het paneel Variabelen. U kunt ook het deelvenster Variabele-eigenschappen openen vanuit elk knooppunt dat variabelen gebruikt door de gewenste variabele 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 waarderen het zeker dat ze niet meer dan één keer dezelfde vragen 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 agent de waarde al in een eerder onderwerp heeft verworven, is er geen reden om de vraag opnieuw te stellen. In dergelijke 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 worden twee onderwerpen, Begroeting en Gesprek met klant gebruikt. 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.

Als dit onderwerp als eerste wordt geactiveerd, wordt de gebruiker gevraagd wat moet ik u noemen, zoals in het testvenster wordt weergegeven. De waarde wordt opgeslagen in een tekenreeksvariabele met de naam customerName. De customerName variabele is ook ingesteld om de waarde ervan op te halen uit andere onderwerpen. 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 wordt weergegeven in het testvenster, wordt de gebruiker gevraagd om 'Wat is uw naam?' als dit onderwerp als eerste wordt geactiveerd. 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 werd de waarde gebruikt van de customerName variabele die is doorgegeven uit 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.

Doorloop de stappen voor het instellen van een onderwerp voor het ontvangen van waarden uit andere onderwerpen. In dit voorbeeldscenario wordt de vooraf gedefinieerde onderwerpbegroeting gebruikt als het brononderwerp en een nieuw onderwerp Communiceren met klant als het doelonderwerp, maar dezelfde stappen werken voor elk onderwerp dat waar mogelijk een waarde uit een eerder onderwerp moet gebruiken.

Het doelonderwerp instellen

Het doelonderwerp ontvangt waarden van andere onderwerpen. In dit voorbeeld is het gesprek met de klant.

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

  2. Voeg triggertermen toe, zoals 'praat met mij', 'spreek met mij' en 'chatten met mij'.

  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 Ontvangen waarden 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 een uitroepteken (!) in.

  11. Sla het onderwerp op.

Het brononderwerp instellen

Het brononderwerp is het onderwerp dat wordt omgeleid naar een ander onderwerp. Het biedt de waarde en geeft deze door aan het doelonderwerp. In dit voorbeeld is het 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 een uitroepteken (!) 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

In een agent verzamelt een onderwerp een specifiek stukje informatie. Meerdere andere onderwerpen kunnen deze aanroepen en verwachten dat deze de informatie als een variabele retourneert. De variabele wordt onderdeel van het oorspronkelijke onderwerp en kan worden gebruikt als elke andere variabele. Door de informatie beschikbaar te maken die de agent op verschillende onderwerpen verkrijgt, vermindert deze benadering de behoefte aan globale variabelen.

Laten we verdergaan met het voorbeeld uit het vorige gedeelte. U stelt een nieuwe vraag in het onderwerp Gesprek met klant en retourneert vervolgens het antwoord op het onderwerp Begroeting .

Het brononderwerp instellen voor een geretourneerde variabele

Wanneer u een variabele naar een onderwerp retourneert, is het brononderwerp het onderwerp dat de waarde biedt die moet worden doorgegeven aan het oorspronkelijke onderwerp. 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 het paneel Variabele-eigenschappen te openen. Geef deze customerCityeen naam en selecteer Vervolgens Retourwaarden naar 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 naar een onderwerp retourneert, ontvangt het doelonderwerp waarden van het huidige onderwerp. In het volgende voorbeeld is het doelonderwerp Begroeting.

  1. Ga naar het doelonderwerp.

  2. De variabele die u in het brononderwerp hebt geselecteerd, wordt weergegeven op het omleidingsknooppunt als uitvoervariabele.

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

  3. Sla het onderwerp op.

Waarden parseren

Het knooppunt Waarde verwerken converteert een waarde van het ene type naar een ander type. Een veelvoorkomend gebruiksvoorbeeld voor het knooppunt Waarde parseren is het converteren van onbewerkte JSON. Een agent roept bijvoorbeeld een stroom aan die een API aanroept. De API retourneert een resultaat. U hebt een manier nodig om dit resultaat te parseren en een of meer primitieve variabelen te retourneren. Met behulp van het parse-waardeknooppunt kunt u het volledige API-resultaat verzenden als een tekenreeks, zoals de volgende:

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

Het knooppunt Waarde parseren converteert de tekenreeksvariabele naar een variabele van het type Record. De Power Fx-editor biedt intelliSense-codevoltooiing en suggesties voor dit type.

Naast het parseren van JSON-tekenreeksen, is een sleutelrol van het Waarde parseren knooppunt het parseren van niet-getypte objecten tijdens runtime. De meest voorkomende use-case is wanneer u een gebeurtenis ontvangt en de gebeurteniswaarde moet parseren. Of misschien wilt u de System.Activity.ChannelData eigenschap parseren, die per runtime per kanaal varieert.

Als u informatie wilt parseren van een gebeurtenis die afkomstig is van Teams, raadpleegt u de documentatie voor Teams-ontwikkelaars om een voorbeeld te vinden van hoe de verwachte gebeurtenis eruit kan zien. U kunt vervolgens de instructies in deze sectie volgen met behulp van de voorbeeldgebeurtenis als voorbeeldgegevens.

Een parse-waardeknooppunt toevoegen aan een onderwerp:

  1. Selecteer het pictogram Knooppunt toevoegen onder het knooppunt waarna u een waarde wilt parseren. Wijs variabelebeheer aan en selecteer Waarde parseren.

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

    Schermopname van selectie van de te parseren variabele.

  3. Voor het gegevenstype selecteert u Uit voorbeeldgegevens.

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

  4. Selecteer Schema ophalen uit voorbeeld-JSON, voer het gewenste JSON-voorbeeld in de editor in die wordt geopend en selecteer Bevestigen.

    Schermopname van de editor waarin u voorbeeld-JSON-gegevens invoert.

  5. Selecteer de variabele voor het opslaan van de geparseerde waarde. Meestal maakt u een nieuwe variabele.

    Schermopname die laat zien hoe u een variabele maakt voor het rechtstreeks opslaan van een geparseerde waarde vanuit het knooppunt Parseringswaarde.

    De uitvoervariabele heeft nu het verwachte type: record.

    Schermopname die laat zien dat de variabele met de geparseerde gegevens het verwachte type heeft: record.