Returnera en lista med resultat
Det är vanligt att be en agent att söka efter data i ett externt system och returnera en lista med resultat. För att göra det kan en agent anropa ett Power Automate-flöde för att:
- Autentisera och ansluta till en extern lösning.
- Kör en fråga baserat på användarindata.
- Formatera resultaten.
- Returnera resultatet till agenten.
Det här exemplet använder Dataverse-anslutningsprogram i Power Automate för att söka efter konton. Anslutningsappen returnerar en lista med resultat som innehåller kontonamn, ort och kontonummer till handläggaren.
Förutsättningar
- Förstår hur du skapar ett flöde från Copilot Studio-designytan
- Använd variabler för in- och utdata för att vidarebefordra information
- Konfigurera Dataverse-sökning för din miljö
Konfigurera en Dataverse-kontotabell
Tabellen Konto är en standardtabell som är tillgänglig som standard i Power Platform-miljöer. Kontodata medföljer emellertid inte. Innan handläggaren kan söka efter konton måste du fylla i tabellen Konto.
Om du redan har en kontotabell med data hoppar du över det här steget och går vidare till Skapa en ämne. Kom dock ihåg att använda söktermer som är relevanta för dina data när du testar din agent i senare steg.
Gå till Power Apps-portalen.
I navigeringsfönstret, välj Surfplattor.
Välj tabellen Konto och sedan Redigera på sidan för tabellegenskaper.
Lägg till följande rader i tabellen:
Adress 1: Ort Kontonamn Kontonummer Seattle Contoso Inc AC0125 San Francisco Contoso-bostäder AC0255 Olympia Contoso-måltidsleveranser AC0035
Skapa ett ämne
I Copilot Studio, gå till Ämnen för din agent.
Skapa ett ämne kallat Kontosökning.
Lägga till följande utlösande fraser:
- Jag letar efter en kund
- Jag letar efter ett konto
- sök konto
- sök kund
Lägg till noden Meddelande och skriv meddelandet "Det låter som att du letar efter ett konto. Jag kan kolla upp det åt dig."
Lägg till en nod av typen Fråga och ange meddelandet "Vad heter den kund du letar efter?"
För Identitet väljer du Organisation.
Användarens hela svar skulle också fungera. Men genom att välja entiteten Organisation kan du dra nytta av agentens funktioner för språkförståelse för att extrahera organisationsnamnet från svaret.
För Spara användarsvar som byter du namn på variabeln till "organisation".
Skapa ett flöde
Välj ikonen Lägg till nod
under valfri nod och välj Lägg till en åtgärd.
På fliken Grundläggande åtgärder väljer du Nytt Power Automate flöde.
I Power Automate väljer du namnet på flödet och ersätter det med Sökkonto.
Välj flödesutlösaren Kör ett flöde från Copilot och lägg till en Text indataparameter med namnet Organisation.
Välj ikonen Lägg till under flödesutlösaren Kör ett flöde från Copilot.
I Lägg till en åtgärd söker du efter "Microsoft Dataverse" och väljer åtgärden Sök rader.
För den här åtgärden används fuzzy-matchning för att hitta relevanta konton i Dataverse-kontotabellen.
I rutan Sökterm anger du ett snedstreck (
/
), väljer Infoga dynamiskt innehåll och väljer sedan indataparametern Organisation.För Avancerade parametrar väljer du Visa alla och anger följande värden:
-
Objekt för tabellfilter:
account
-
Sortera efter objekt – 1:
search.score desc
-
Sortera efter objekt – 2:
name asc
-
Objekt för tabellfilter:
Formatresultat
Åtgärden Sök rader returnerar variabeln Lista med rader, som innehåller JSON-data. Innan du kan använda data måste du analysera data med åtgärden Parsa JSON.
Välj ikonen Lägg till under åtgärden Sök efter rader.
I Lägg till en åtgärd, sök efter "dataåtgärd" och välj åtgärden Parsa JSON.
I rutan Innehåll anger du ett snedstreck (
/
), väljer Infoga dynamiskt innehåll och väljer Lista med rader.Kopiera följande JSON-schema och klistra in det i rutan Schema:
{ "type": "array", "items": { "type": "object", "properties": { "@@search.score": { "type": "number" }, "name": { "type": "string" }, "address1_city": { "type": "string" }, "accountnumber": { "type": "string" } }, "required": [ "name" ] } }
Välj ikonen Lägg till under åtgärden Parsa JSON.
I Lägg till en åtgärd, sök efter "Variabel" och välj åtgärden Initiera variabel.
I rutan Namn ange "ListOfAccounts".
För Typväljer du Sträng.
Välj ikonen Lägg till under åtgärden Initiera variabel.
I Lägg till en åtgärd, sök efter "Kontroll" och välj åtgärden Tillämpa på varje.
I rutan Välj utdata från föregående steg anger du ett snedstreck (
/
) väljer du Infoga dynamiskt innehåll och väljer sedan variabeln Brödtext under Parsa JSON.Välj ikonen Lägg tillinne i åtgärden Tillämpa för varje.
I Lägg till en åtgärd, sök efter "Variabel" och välj åtgärden Lägga till strängvariabel.
För Namn, välj ListOfAccounts.
Kopiera följande text och klistra in den i rutan Värde:
- @{items('Apply_to_each')['accountnumber']}: @{items('Apply_to_each')['name']} - @{items('Apply_to_each')['address1_city']}
Lägg till en radbrytning efter kodavsnittet för att få varje resultat att visas på sin egen rad.
I åtgärden Svara på Copilot lägger du till utdata Text .
För Namn ange "FoundAccounts".
För värdet anger du ett snedstreck (
/
) i rutan, väljer du Infoga dynamiskt innehåll och väljer sedan variabeln ListOfAccounts.Spara och publicera ditt flöde.
Anropa flödet från Copilot Studio
I Copilot Studio, välj ikonen Lägg till nod
under noden Fråga, välj Lägg till en åtgärd och välj sedan det flöde som du skapade tidigare Sök konto.
Ställ in flödesindataparametern till utdatavariabeln från noden Fråga: Organisation (sträng) hämtar sitt värde från variabeln organisation.
Lägg till en nod av typen Meddelande och ange meddelandet "Okej, det här är vad jag hittade".
Lägg till en ytterligare nod av typen Meddelande. Välj ikonen Infoga variabel och välj sedan FoundAccounts.
Välj Spara.
Testa din agent.