적용 대상: Dynamics 365 Contact Center - 독립 실행형 및 Dynamics 365 Customer Service만 해당
참고
Copilot Studio 봇의 이름이 Copilot 에이전트(에이전트 또는 AI 에이전트)로 바뀝니다. 이제 인간 에이전트의 이름이 고객 서비스 담당자(서비스 담당자 또는 담당자)로 변경되었습니다. 제품 UI, 문서 및 교육 콘텐츠를 업데이트하는 동안 이전 용어와 새 용어에 대한 참조를 접할 수 있습니다.
이 문서에서는 Azure 및 Copilot 에이전트에 대한 컨텍스트 변수와 Dynamics 365 Contact Center에서 구성하는 방법을 나열합니다. 컨텍스트 변수를 만드는 방법을 이해하려면 컨텍스트 변수 관리를 참조하십시오.
Copilot 에이전트의 컨텍스트 변수
다음 표에는 Copilot 에이전트를 구성하는 데 사용할 수 있는 Dynamics 365 Contact Center에서 사용할 수 있는 컨텍스트 변수 목록이 포함되어 있습니다.
중요
- 확장 솔루션을 설치하는 경우 일부 변수에 더 쉽게 액세스할 수 있습니다.
- Copilot Studio는 대화 중에 변수를 비동기적으로 수신할 수 있습니다. 이렇게 하면 AI 에이전트가 대화 중에 Contact Center에서 제공하는 사용자 지정 데이터를 사용하는 동안 대기 시간이 짧은 사용자에게 인사할 수 있습니다. 에이전트를 디자인할 때 Dataverse 환경의 정보가 지연될 수 있으므로 데이터 원본과 검색 시간을 모두 고려합니다. 지연 도착 데이터를 적절하게 관리하도록 변수 정의에서 시간 제한 설정을 구성합니다. 외부 원본에서 전역 변수 설정에 대해 자세히 알아봅니다.
| 컨텍스트 변수 유형 | 컨텍스트 변수 이름 | 설명 | Copilot Studio에서 매핑하는 방법 |
|---|---|---|---|
| 대화 전 설문 | Dynamics 365 Contact Center에서 만든 사전 대화 설문 조사 질문 이름을 사용합니다. | 시스템은 대화 전 설문 조사의 응답을 컨텍스트 변수로 저장합니다. | 다음 정보를 사용하여 Dynamics 365 Contact Center의 질문 이름을 Copilot Studio의 변수 형식과 매핑합니다.
|
| 채팅에 대한 사용자 지정 컨텍스트 | Dynamics 365 Contact Center에서 만들거나 setContextProvider API를 사용하여 전달하는 변수 이름을 사용합니다. | 사용자가 생성한 사용자 지정 컨텍스트 변수는 라이브 채팅 SDK를 통해 전달할 수 있습니다. | 다음 정보를 사용하여 Dynamics 365 Contact Center의 사용자 지정 컨텍스트 변수를 Copilot Studio의 변수 형식과 매핑합니다.
|
| Direct Line에 대한 사용자 지정 컨텍스트 | Dynamics 365 Contact Center에서 만든 변수 이름을 사용합니다. | DirectLine 클라이언트가 대화를 시작할 때 만드는 사용자 지정 컨텍스트 변수는 Activity.ChannelData.ConversationContext에서 키-값 쌍으로 전달될 수 있습니다. | 다음 정보를 사용하여 Dynamics 365 Contact Center의 사용자 지정 컨텍스트 변수를 Copilot Studio의 변수 형식과 매핑합니다.
|
| 작업 분류 규칙에 의해 설정된 변수 | Contact Center 관리 센터에서 만든 변수 이름을 사용합니다. | 작업 분류 규칙의 일부로 생성된 사용자 지정 변수는 컨텍스트를 생성하는 데 추가 처리 시간이 필요합니다. AI 에이전트에서 작업 분류 컨텍스트에 대한 시간 제한을 설정합니다. 외부 원본에서 전역 변수 설정에 대해 자세히 알아봅니다. | 다음 정보를 사용하여 Dynamics 365 Contact Center의 사용자 지정 컨텍스트 변수를 Copilot Studio의 변수 형식과 매핑합니다.
|
| 대화 | msdyn_ConversationId | 진행 중인 대화의 대화 ID를 포함하며 Microsoft Dataverse의 레코드를 가져오고 레코드에 대해 작업을 수행할 수 있는 컨텍스트 변수를 사용합니다. | 문자열: 사용자의 전체 응답. |
| 메시징 전용 변수 | msdyn_CustomerType 1 | 대화에 연결된 거래처 또는 연락처 레코드에 대한 고객 유형이 포함된 이 컨텍스트 변수를 사용합니다. | 옴니채널 확장 솔루션 변수를 선택합니다. |
| msdyn_CustomerName 1 | 대화에 연결된 거래처 또는 연락처 레코드에 대한 고객 이름이 포함된 이 컨텍스트 변수를 사용합니다. | 옴니채널 확장 솔루션 변수를 선택합니다. | |
| msdyn_CustomerId 1 | 대화에 연결된 거래처 또는 연락처 레코드에 대한 고객 ID가 포함된 이 컨텍스트 변수를 사용합니다. | 옴니채널 확장 솔루션 변수를 선택합니다. | |
| msdyn_CaseId 1 | 대화에 연결된 케이스 레코드의 ID를 포함하는 이 컨텍스트 변수를 사용하십시오. 데이터는 자동 고객 식별의 일부로 Dataverse 환경에서 검색됩니다. 따라서 AI 에이전트는 데이터를 수신하는 데 대기 시간이 발생할 수 있습니다. | 옴니채널 확장 솔루션 변수를 선택합니다. | |
| msdyn_CaseTitle 1 | 대화에 연결된 케이스 레코드의 제목을 포함하는 이 컨텍스트 변수를 사용하십시오. | 옴니채널 확장 솔루션 변수를 선택합니다. | |
| msdyn_ChannelInstanceId | 채널 인스턴스 레코드의 Dataverse 고유 식별자(예: 구성된 채팅 위젯 또는 Facebook 페이지의 고유 식별자)입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_WorkstreamId | 채널 인스턴스와 연결된 Workstream의 Dataverse 고유 식별자입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_Locale | 채널 인스턴스에 구성된 로캘 코드(예: 채팅 위젯 또는 Facebook 페이지)입니다. 다국어 Copilot Studio 에이전트와 같은 시나리오에 사용할 수 있습니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_SocialProfileId | 대화와 연결된 소셜 프로필에 대한 Dataverse 레코드 고유 식별자입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_LineCustomerName | LINE API의 고객 이름입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_TeamsCustomerName | Microsoft Teams의 고객 이름입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_TeamsCustomerEmail | Microsoft Teams의 이메일 주소(UPN)입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_CapabilityList | Apple Messages for Business 기능은 값을 구분된 문자열로 나열합니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_AppleMessagesForBusinessGroupId | Apple Messages for Business 그룹 ID입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_AppleMessagesForBusinessIntentId | Apple Messages for Business 의도 ID입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_AppleMessagesForBusinessLocale | Apple Messages for Business API에서 제공하는 로캘입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_AppleBusinessId | Apple Messages for Business 거래처의 비즈니스 ID입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_FacebookCustomerName | Facebook의 고객 이름입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_FacebookLocale | Facebook에서 고객의 최종 사용자 로캘입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_FacebookTimezone | Facebook의 고객 시간대입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_FacebookUserPageScopedId | Facebook의 고객 페이지별 사용자 ID입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_FacebookPageId | Facebook 페이지의 PageID입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_CustomerPhoneNumber | WhatsApp 및 SMS 채널에서 고객이 문자 메시지를 전송하는 전화 번호입니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_OrganizationPhoneNumber | 고객으로부터 메시지를 받는 전화 번호(조직의 번호)입니다. Azure Communication Services를 통해 WhatsApp에 전달되지 않습니다. | 문자열: 사용자의 전체 응답. | |
| msdyn_WhatsAppCustomerFirstMessage | WhatsApp 범용 링크에서 미리 채워진 메시지를 사용하는 경우 해당 정보가 이 변수에 전달됩니다. | 문자열: 사용자의 전체 응답. | |
| 음성 전용 변수 2 | Activity.From.Name | 전화 통신 활동에서 고객의 전화 번호에 대해 이 컨텍스트 변수를 사용합니다. 대화 시작 토픽의 전역 변수에 이 변수를 할당합니다. Copilot Studio 에이전트에 대한 컨텍스트 변수 구성에 대해 자세히 알아봅니다. | Microsoft Copilot Studio에서 시스템 변수를 선택합니다. |
| Activity.Recipient.Name | 전화 통신 활동에서 조직의 전화 번호에 대해 이 컨텍스트 변수를 사용합니다. 대화 시작 토픽의 전역 변수에 이 변수를 할당합니다. Copilot Studio 에이전트에 대한 컨텍스트 변수 구성에 대해 자세히 알아봅니다. | Microsoft Copilot Studio에서 시스템 변수를 선택합니다. | |
| 확장 방법 이름 | va_SurveyConsent | 이 대화 상자를 사용하여 고객이 대화 중에 설문 조사에 참여하는 데 동의했는지 확인합니다. | 이 방법을 사용하여 Dynamics 365 Contact Center로 대화 세부 정보를 에스컬레이션합니다. |
| va_CustomerLocale | 이 대화 상자를 사용하여 현재 에이전트와 대화 중인 사용자를 다른 언어로 말할 수 있는 다른 에이전트로 전송합니다. | 입력 변수를 선택하고 올바른 로케일 코드를 사용하여 코드를 설정하십시오. |
1 음성에 다른 컨텍스트 변수를 사용하려면 Copilot Studio에서 가져올 수 있습니다. 변수 작업에서 자세히 알아보세요.
Copilot 에이전트의 컨텍스트 변수 구성
Copilot 에이전트가 Dynamics 365 Contact Center에서 컨텍스트 변수를 읽도록 하려면 다음 단계를 수행합니다.
토픽 페이지에서 토픽 추가>처음부터를 선택합니다. 호출되지 않았거나 이미 존재하는 토픽을 사용합니다. 그렇지 않으면 컨텍스트 변수가 작동하지 않기 때문입니다.
컨텍스트 변수 설정과 같은 토픽의 이름을 입력하고 저장합니다.
토픽에 새 노드를 추가하고 변수 관리 > 변수 값 설정을 선택합니다.
새 노드의 변수 설정에서 새 변수 만들기를 선택합니다.
새 변수 이름을 선택하여 변수 속성 창을 엽니다. 창에서 변수 이름을 옴니채널 컨텍스트 변수 이름과 정확하게 일치하도록 설정합니다(대/소문자 구분).
참조 섹션에서 세로 줄임표를 선택한 다음 비어 있을 경우 이 노드에서 값을 가져옵니다를 선택합니다. Copilot Studio 에이전트는 런타임 시 이 노드에서 변수 값을 검색합니다.
사용 섹션에서 Copilot Studio 에이전트가 옴니채널의 데이터를 수락하고 이 변수를 모든 토픽에서 사용할 수 있도록 전역(모든 토픽에서 액세스 가능) 및 외부 원본에서 값을 설정할 수 있음을 선택합니다.
변수에서 작업 분류 규칙의 데이터를 사용하는 경우 변수 정의에서 제한 시간 길이를 설정해야 합니다. 외부 원본에서 전역 변수 설정에 대해 자세히 알아봅니다.
변수 속성 창을 닫습니다.
노드에서 에이전트가 예상하는 데이터 유형과 일치하는 값을 대상 값에 입력합니다.
변경을 저장하고 게시합니다.
참고
대화 시작 항목에서만 Activity.From.Name 변수에 액세스할 수 있습니다. 대화 시작 항목에서 전역 변수를 만들고 변수 값을 Activity.From.Name에 설정한 다음 다른 항목에서 전역 변수를 사용하는 것이 좋습니다. 이렇게 하면 Copilot Studio 에이전트의 모든 항목에서 고객 전화 번호에 액세스할 수 있습니다.
대화 중에 연락처 센터 컨텍스트 변수의 데이터는 Copilot Studio 변수에 설정되며 에이전트의 논리에서 사용할 수 있습니다.
상담원은 대화 중에 옴니채널 컨텍스트 변수를 설정할 수도 있습니다. Copilot Studio 로직에서 옴니채널 변수를 설정하려면 에이전트가 올바른 변수 이름을 사용하고 있는지 확인하고 변수 관리 노드의 "To value" 속성에 값을 설정합니다. Copilot Studio는 고객 서비스 담당자에게 전송하는 동안 변수를 옴니채널에 전달합니다. 이는 상담원이 대화를 서비스 담당자로 에스컬레이션할 때 대화를 서비스 케이스에 연결하는 데 자주 사용됩니다. 이 데이터에서 옴니채널의 레코드를 연결하는 방법에 대한 자세한 내용: 고객과 케이스를 대화에 연결
대화가 에스컬레이션되면 Copilot Studio에서 만든 전역 변수를 Dynamics 365 Contact Center에 전달할 수 있습니다. 전체 목록은 핸드오프 시 사용 가능한 상황별 변수를 참조하세요.
JSON 객체를 구문 분석하여 레코드 ID 추출
다음 세부 정보를 확인해야 합니다.
- Dynamics 365 Contact Center 컨텍스트 변수(예: msdyn_contact_msdyn_ocliveworkitem_Customer)
- 스키마 세부 정보입니다.
샘플 스키마 세부 사항의 복사본은 다음과 같습니다.
Schema:
{
"type": "array",
"items": {
"type": "object",
"properties": {
"RecordId": {
"type": "string"
},
"PrimaryDisplayValue": {
"type": "string"
}
},
"required": [
"RecordId",
"PrimaryDisplayValue"
]
}
}
PrimaryDisplayValue에는 Dataverse 엔터티의 속성 값이 포함됩니다. 엔터티 특성에 대한 매핑은 다음과 같습니다.
- 서비스 케이스: 서비스 케이스 제목
- 연락처: 전체 이름
- 거래처: 이름
다음은 샘플 컨텍스트 레코드입니다.
{
"msdyn_contact_msdyn_ocliveworkitem_Customer": [
{
"RecordId": "<GUID>",
"PrimaryDisplayValue": "<FullName>"
}
],
"msdyn_liveworkitemid": "<GUID>"
}
Azure 에이전트에 대한 컨텍스트 변수
다음 표에는 Azure 에이전트를 구성하는 데 사용할 수 있는 Dynamics 365 Contact Center의 컨텍스트 변수 목록이 포함되어 있습니다.
| 컨텍스트 변수 유형 | 컨텍스트 변수 이름 | 설명 | Azure에서 매핑하는 방법 |
|---|---|---|---|
| 대화 전 설문 | Dynamics 365 Contact Center에서 만든 사전 대화 설문 조사 질문 이름을 사용합니다. | 시스템은 대화 전 설문 조사의 응답을 컨텍스트 변수로 저장합니다. | 다음 정보를 사용하여 Dynamics 365 Contact Center의 질문 이름을 Azure의 변수 형식과 매핑합니다.
|
| 사용자 지정 컨텍스트 | Dynamics 365 Contact Center에서 만들거나 setContextProvider API를 사용하여 전달하는 변수 이름을 사용합니다. | 사용자가 생성한 사용자 지정 컨텍스트 변수는 라이브 채팅 SDK를 통해 전달할 수 있습니다. | Dynamics 365 Contact Center에서 사용자 지정 컨텍스트 변수를 사용하도록 사용자의 응답을 JSON으로 매핑합니다. |
| Direct Line에 대한 사용자 지정 컨텍스트 | Dynamics 365 Contact Center에서 만든 변수 이름 사용 | DirectLine 클라이언트가 대화를 시작할 때 만드는 사용자 지정 컨텍스트 변수는 Activity.ChannelData.ConversationContext에서 키-값 쌍으로 전달될 수 있습니다. | 다음 정보를 사용하여 Dynamics 365 Contact Center의 사용자 지정 컨텍스트 변수를 Copilot Studio의 변수 형식과 매핑합니다.
|
| 대화 | msdyn_ConversationId | 진행 중인 대화의 대화 ID를 포함하며 Microsoft Dataverse의 레코드를 가져오고 레코드에 대해 작업을 수행할 수 있는 컨텍스트 변수를 사용합니다. | 문자열: 문자열 |
| 연락처 | msdyn_contact_msdyn_ocliveworkitem_Customer | 대화에 연결된 고객(연락처) 레코드의 레코드 ID가 포함된 이 컨텍스트 변수를 사용합니다. | JSON을 구문 분석하여 레코드 ID 추출 |
| 거래처 | msdyn_account_msdyn_ocliveworkitem_Customer | 대화에 연결된 거래처 레코드의 레코드 ID가 포함된 이 컨텍스트 변수를 사용합니다. | JSON을 구문 분석하여 레코드 ID 추출 |
| 케이스 | msdyn_incident_msdyn_ocliveworkitem | 대화에 연결된 서비스 케이스 레코드의 레코드 ID가 포함된 이 컨텍스트 변수를 사용합니다. | JSON을 구문 분석하여 레코드 ID 추출 |
| 채널 인스턴스 | msdyn_ChannelInstanceId | 채널 인스턴스 레코드의 Dataverse 고유 식별자(예: 구성된 채팅 위젯 또는 Facebook 페이지의 고유 식별자)입니다. | 문자열: 사용자의 전체 응답. |
| 작업 스트림 | msdyn_WorkstreamId | 채널 인스턴스와 연결된 Workstream의 Dataverse 고유 식별자입니다. | 문자열: 사용자의 전체 응답. |
| 채널 로캘 | msdyn_Locale | 채널 인스턴스에 구성된 로캘 코드입니다. 예를 들어 채팅 위젯 또는 Facebook 페이지가 있습니다. 다국어 Copilot Studio 에이전트와 같은 시나리오에 사용할 수 있습니다. | 문자열: 사용자의 전체 응답. |
| 소셜 프로필 | msdyn_SocialProfileId | 대화와 연결된 소셜 프로필에 대한 Dataverse 레코드 고유 식별자입니다. | 문자열: 사용자의 전체 응답. |
| 라인 고객 이름 | msdyn_LineCustomerName | LINE API의 고객 이름입니다. | 문자열: 사용자의 전체 응답. |
| Teams 고객 이름 | msdyn_TeamsCustomerName | Microsoft Teams의 고객 이름입니다. | 문자열: 사용자의 전체 응답. |
| Teams 고객 이메일 | msdyn_TeamsCustomerEmail | Microsoft Teams의 이메일 주소(UPN)입니다. | 문자열: 사용자의 전체 응답. |
| Apple 기능 목록 | msdyn_CapabilityList | Apple Messages for Business 기능은 값을 구분된 문자열로 나열합니다. | 문자열: 사용자의 전체 응답. |
| Apple 그룹 ID | msdyn_AppleMessagesForBusinessGroupId | Apple Messages for Business 그룹 ID입니다. | 문자열: 사용자의 전체 응답. |
| Apple 의도 ID | msdyn_AppleMessagesForBusinessIntentId | Apple Messages for Business 의도 ID입니다. | 문자열: 사용자의 전체 응답. |
| Apple Locale | msdyn_AppleMessagesForBusinessLocale | Apple Messages for Business API에서 제공하는 로캘입니다. | 문자열: 사용자의 전체 응답. |
| Apple Business ID | msdyn_AppleBusinessId | Apple Messages for Business 거래처의 비즈니스 ID입니다. | 문자열: 사용자의 전체 응답. |
| Facebook 고객 이름 | msdyn_FacebookCustomerName | Facebook의 고객 이름입니다. | 문자열: 사용자의 전체 응답. |
| Facebook 고객 로캘 | msdyn_FacebookLocale | Facebook에서 고객의 최종 사용자 로캘입니다. | 문자열: 사용자의 전체 응답. |
| Facebook 고객 표준 시간대 | msdyn_FacebookTimezone | Facebook의 고객 시간대입니다. | 문자열: 사용자의 전체 응답. |
| Facebook 고객 페이지 범위 ID | msdyn_FacebookUserPageScopedId | Facebook의 고객 페이지별 사용자 ID입니다. | 문자열: 사용자의 전체 응답. |
| Facebook 페이지 ID | msdyn_FacebookPageId | Facebook 페이지의 PageID입니다. | 문자열: 사용자의 전체 응답. |
| 고객 전화번호 | msdyn_CustomerPhoneNumber | WhatsApp 및 SMS 채널에서 고객이 문자 메시지를 전송하는 전화 번호입니다. | 문자열: 사용자의 전체 응답. |
| 조직 전화 번호 | msdyn_OrganizationPhoneNumber | 고객으로부터 메시지를 받는 전화 번호(조직의 번호)입니다. Azure Communication Services를 통해 WhatsApp에 전달되지 않습니다. | 문자열: 사용자의 전체 응답. |
| WhatsApp 범용 링크 메시지 | msdyn_WhatsAppCustomerFirstMessage | WhatsApp 범용 링크에서 미리 채워진 메시지를 사용하는 경우 해당 정보가 이 변수에 전달됩니다. | 문자열: 사용자의 전체 응답. |
참고
Azure 또는 Copilot Studio 에이전트에 흐름을 작성할 때는 컨텍스트 변수 이름을 정의된 대로 사용하고 변경하지 마세요. 또한 대/소문자를 구분하므로 정확히 일치시켜 컨텍스트 변수에 값을 전달해야 합니다. 일치하지 않는 경우 레코드가 자동으로 식별되지 않습니다. 추가 정보: 자동으로 레코드 식별
관련 정보
Copilot Studio 에이전트 통합
Azure 에이전트 통합
대화를 에스컬레이션하고 종료하도록 에이전트 구성
라이브 채팅 SDK 참조