결과 목록 반환
에이전트에게 외부 시스템에서 데이터를 찾고 결과 목록을 반환하도록 요청하는 것이 일반적입니다. 이를 위해 에이전트는 Power Automate 흐름을 호출하여 다음을 수행할 수 있습니다.
- 외부 솔루션을 인증하고 연결합니다.
- 사용자 입력에 따라 쿼리를 실행합니다.
- 결과의 서식을 지정합니다.
- 결과를 에이전트에 반환합니다.
이 예에서는 Power Automate의 Dataverse 커넥터를 사용하여 계정을 검색합니다. 커넥터는 계정 이름, 도시 및 계정 번호가 포함된 결과 목록을 에이전트에 반환합니다.
사전 요구 사항
- Copilot Studio 제작 캔버스에서 흐름을 만드는 방법 이해
- 입력 변수와 출력 변수를 사용하여 정보 전달
- 환경에 Dataverse 검색 구성
Dataverse 거래처 테이블 설정
거래처 테이블은 Power Platform 환경에서 기본적으로 사용할 수 있는 표준 테이블입니다. 그러나 거래처 데이터는 제공되지 않습니다. 상담원이 계정을 검색하려면 먼저 계정 테이블을 채워야 합니다.
데이터가 있는 거래처 테이블이 이미 있는 경우 이 단계를 건너뛰고 토픽 만들기로 이동합니다. 그러나 이후 단계에서 에이전트를 테스트할 때 데이터와 관련된 검색어를 사용해야 합니다.
Power Apps 포털로 이동합니다.
탐색 창에서 테이블을 선택합니다.
거래처 테이블을 선택하고 테이블 속성 페이지에서 편집을 선택합니다.
다음 행을 테이블에 추가합니다.
주소 1: 구/군/시 어카운트 이름 계좌 번호 시애틀 Contoso Inc AC0125 샌프란시스코 Contoso Residences AC0255 Olympia Contoso Meal Delivery AC0035
토픽 만들기
Copilot Studio에서 해당 에이전트의 토픽 페이지로 이동합니다.
거래처 검색이라는 토픽을 만듭니다.
다음 트리거 문구를 추가합니다.
- 고객을 찾고 있어요
- 거래처를 찾고 있어요
- 거래처 검색
- 고객 검색
메시지 노드를 추가하고 "거래처를 찾고 계신 것 같군요. 제가 찾아드리겠습니다."
질문 노드를 추가하고 "찾고 있는 고객의 이름은 무엇입니까?" 메시지를 입력합니다.
식별에서 조직을 선택합니다.
사용자의 전체 응답도 작동합니다. 하지만 조직 엔터티를 선택하면 에이전트의 언어 이해 기능을 활용하여 응답에서 조직 이름을 추출할 수 있습니다.
사용자 응답을 다음 이름으로 저장에서 변수 이름을 "organization"으로 바꿉니다.
흐름 만들기
노드 아래에 있는 노드 추가 아이콘
을 선택하고 작업 추가를 선택합니다.
기본 작업 탭에서 새 Power Automate 흐름을 선택합니다.
Power Automate에서 흐름 이름을 선택하고 거래처 검색으로 바꿉니다.
Copilot에서 흐름 실행 흐름 트리거를 선택하고 Organization이라는 이름의 텍스트 입력 매개 변수를 추가합니다.
Copilot에서 흐름 실행 흐름 트리거 아래에 있는 추가 아이콘을 선택합니다.
작업 추가에서 "Microsoft Dataverse"를 검색하고 행 검색 작업을 선택합니다.
이 작업은 유사 일치를 사용하여 귀하의 Dataverse 거래처 테이블에서 관련 거래처를 찾습니다.
검색어 상자에 슬래시(
/
)를 입력하고 동적 콘텐츠 삽입을 선택한 다음 조직 입력 매개 변수를 선택합니다.고급 매개 변수에서 모두 표시를 선택하고 다음 값을 설정하십시오.
-
테이블 필터 항목:
account
-
항목별 정렬 - 1:
search.score desc
-
항목별 정렬 - 2:
name asc
-
테이블 필터 항목:
결과 형식 지정
행 검색 작업은 JSON 데이터를 포함하는 행 목록 변수를 반환합니다. 데이터를 사용하려면 먼저 JSON 구문 분석 작업을 사용하여 데이터를 분석해야 합니다.
행 검색 작업 아래에 있는 추가 아이콘을 선택합니다.
작업 추가에서 "Data Operation"을 검색하고 JSON 구문 분석 작업을 선택합니다.
콘텐츠 상자에 슬래시(
/
)를 입력하고, 동적 콘텐츠 삽입을 선택한 다음, 행 목록을 선택합니다.다음 JSON 스키마를 복사하여 스키마 상자에 붙여 넣습니다.
{ "type": "array", "items": { "type": "object", "properties": { "@@search.score": { "type": "number" }, "name": { "type": "string" }, "address1_city": { "type": "string" }, "accountnumber": { "type": "string" } }, "required": [ "name" ] } }
JSON 구문 분석 작업 아래에 있는 추가 아이콘을 선택합니다.
작업 추가에서 "Variable"을 검색하고 변수 초기화 작업을 선택합니다.
이름 상자에 "ListOfAccounts"를 입력합니다.
형식에 대해 문자열을 선택합니다.
행 검색 작업 아래에 있는 변수 초기화 아이콘을 선택합니다.
작업 추가에서 "Control"을 검색하고 각각에 적용 작업을 선택합니다.
이전 단계의 출력 선택 상자에 슬래시(
/
)를 입력하고 동적 콘텐츠 삽입을 선택한 다음 JSON 구문 분석에서 본문 변수를 선택합니다.각각에 적용 작업의 안에 있는추가 아이콘을 선택합니다.
작업 추가에서 "Variable"을 검색하고 문자열 변수에 추가 작업을 선택합니다.
이름에 대해 ListOfAccounts를 선택합니다.
다음 텍스트를 복사하여 값 상자에 붙여 넣습니다.
- @{items('Apply_to_each')['accountnumber']}: @{items('Apply_to_each')['name']} - @{items('Apply_to_each')['address1_city']}
코드 조각 뒤에 줄 바꿈을 추가하여 각 결과가 자체 줄에 나타나도록 합니다.
Copilot에 응답 작업에서 텍스트 출력을 추가합니다.
이름에 "FoundAccounts"를 입력합니다.
값으로 상자에 슬래시(
/
)를 입력하고 동적 콘텐츠 삽입을 선택한 다음 ListOfAccounts 변수를 선택합니다.흐름을 저장 및 게시합니다.
Copilot Studio에서 흐름 호출
Copilot Studio에서 질문 노드 아래에 있는 노드 추가 아이콘
을 선택하고, 작업 추가를 선택한 다음, 앞서 만든 흐름과 거래처 검색을 선택합니다.
질문 노드의 출력 변수에 흐름 입력 매개 변수를 설정합니다. 조직(문자열)은 조직 변수에서 값을 가져옵니다.
메시지 노드를 추가하고 "이것이 내가 찾은 것입니다." 메시지를 입력합니다.
두 번째 메시지 노드를 추가합니다. 변수 삽입 아이콘을 선택한 다음 FoundAccounts를 선택합니다.
저장을 선택합니다.
에이전트를 테스트합니다.