CXone Agent에 대한 Microsoft Dynamics 워크플로 구성

Microsoft Dynamics을(를) CXone Agent과(와) 통합하기 위한 마지막 단계입니다.

Microsoft DynamicsCXone Agent에 대해 검색, 사용자 지정 생성 및 표준 생성 워크플로를 구성합니다. 이러한 워크플로는 Microsoft Dynamics 레코드를 검색 또는 생성하며, 이는 엔터티라고도 합니다. 이는 동적 데이터 매핑의 백엔드 구성입니다.

워크플로 형식

설명

워크플로

검색 검색 워크플로는 상담원이 처리하는 인터랙션에 적용되는 레코드를 찾기 위해 Microsoft Dynamics을(를) 검색합니다. ANI 검색
사용자 지정 검색
사용자 지정 생성 사용자 지정 생성 워크플로에서는 표준 필드와 사용자 지정 필드를 모두 사용하여 아무 레코드 유형이나 생성합니다. 사용자 정의 레코드 생성
표준 생성

표준 생성 워크플로에서는 표준 데이터 필드로 표준 Microsoft Dynamics 레코드를 생성합니다. 이러한 워크플로의 SNIPPET 페이로드는 표준 필드를 포함해야 하며, 이러한 필드 포함해야 합니다.

계정 생성
케이스 생성
컨택 생성
리드 생성
기회 생성
전화 통화 생성

검색 워크플로 구성

검색 워크플로로는 두 가지가 있으며, ANI 검색사용자 지정 검색입니다.

ANI 검색 워크플로 구성

ANI 검색 워크플로는 ACDANI닫힘 발신자 ID라고도 합니다. 들어오는 음성 통화의 나열된 전화번호입니다.를 사용하여 모든 표준 전화 필드에서 일치하는 필드를 찾습니다.

이 예제 스크립트를 사용합니다.

  1. Studio에서 ANI 검색 워크플로를 구성할 스크립트를 엽니다.

  2. 이미 추가하지 않은 경우, BEGIN 다음 Workflow Execute 작업 앞에 SNIPPET 작업을 추가합니다.

  3. 스크립트 캔버스에서 SNIPPET 작업을 두 번 클릭합니다.

  4. 다음 각 코드 줄을 복사하여 편집기 창의 텍스트 보기 탭에 붙여넣습니다.

    
    DYNAMIC searchInput
    searchInput.workflowInput.phoneNumber = "{ANI}"
    ASSIGN searchJson = "{searchInput.asjson()}"
    		
  5. 스크립트를 저장합니다.

  6. Studio에서 인터랙션을 시뮬레이션하여 스크립트를 테스트할 수 있습니다.

사용자 지정 검색 워크플로 구성

사용자 지정 검색 워크플로를 사용하면 한 개 이상의 Microsoft Dynamics 레코드를 검색할 수 있습니다. 또한 지정된 레코드 내에서 여러 필드와 변수를 검색할 수 있습니다. Microsoft Dynamics 연산자를 사용하여 여러 검색 요구사항을 연결할 수 있습니다.

이 워크플로는 다음과 같은 Microsoft Dynamics 레코드를 지원합니다.

  • 컨택

  • 계정

  • 잠재 고객

  • 영업 기회

  • 케이스

  • 작업

이 예제 스크립트를 사용합니다.

  1. Studio에서 사용자 지정 검색 워크플로를 구성할 스크립트를 엽니다.

  2. 이미 추가하지 않은 경우, BEGIN 다음 Workflow Execute 작업 앞에 SNIPPET 작업을 추가합니다.

  3. 스크립트 캔버스에서 SNIPPET 작업을 두 번 클릭합니다.

  4. 다음 각 코드 줄을 복사하여 편집기 창의 텍스트 보기 탭에 붙여넣습니다.

    
    DYNAMIC searchInput
    DYNAMIC payload
    payload.entity = "[API name]"
    payload.filter = "[fieldName] [operator] {variable}"
    searchInput.workflowInput.search = payload
    ASSIGN searchJson = "{searchInput.asjson()}"
    		
  5. payload.entity 속성의 값을 검색할 레코드에 대한 API 이름으로 변경합니다. 예를 들면 payload.entity = "incident"입니다. 이는 대소문자를 구분합니다.

  6. payload.filter 속성의 값을 변경합니다. 이렇게 하면 레코드의 검색 필터 기준이 결정됩니다. 예를 들면 payload.filter = "phone='{ANI}'"입니다.

    1. [fieldName]을(를) ticketNumber처럼 검색하는 데 사용하려는 필드의 이름으로 변경합니다. 이는 대소문자를 구분합니다.

    2. [operator]을(를) 사용할 Microsoft Dynamics 연산자로 변경합니다. 이는 대소문자를 구분합니다.

    3. {variable}을(를) 필드에 배정하려는 변수로 변경합니다. 이는 대소문자를 구분합니다.

  7. 추가로 검색 필터를 추가하려면 필터 사이에 Microsoft Dynamics 연산자를 사용합니다. 예:

    
    payload.filter = "phone eq '{ANI}'AND customer_number_c eq '{CustomerNumber}'"
    		
  8. 스크립트를 저장합니다.

  9. Studio에서 인터랙션을 시뮬레이션하여 스크립트를 테스트할 수 있습니다.

사용자 지정 생성 워크플로 구성

사용자 지정 생성 워크플로를 사용하면 표준 또는 사용자 지정 등 모든 유형의 Microsoft Dynamics 레코드를 생성하도록 SNIPPET 페이로드를 구성할 수 있습니다. 또한 표준 또는 사용자 지정 필드 유형에 관계없이 모든 필드 유형을 채울 수 있습니다. 예를 들어 해당 레코드 유형의 일부 표준 필드와 사용자 지정 필드를 사용하여 계정 레코드를 만들 수 있습니다.

Microsoft Dynamics 레코드 생성 방식을 권장합니다.

사용자 지정 레코드 생성 워크플로 구성(이전의 엔터티 생성)

사용자 지정 레코드 생성 워크플로는 표준 또는 사용자 지정 등 모든 유형의 Microsoft Dynamics 레코드를 생성합니다. 이 레코드는 표준 데이터 필드와 사용자 지정 데이터 필드를 표시할 수 있습니다. 필드는 텍스트, 숫자 또는 변수를 포함해야 합니다. 바인딩된 필드는 검색 결과나 옵션의 목록으로 채워지는 경우가 대부분이지만, 하드 코딩된 데이터를 바인딩된 필드에 추가하도록 이 워크플로를 구성할 수도 있습니다.

이 예제 스크립트를 사용합니다.

이 워크플로는 전에 엔터티 생성 워크플로라고 불렀습니다.

  1. Studio에서 사용자 지정 레코드 생성 워크플로를 구성할 스크립트를 엽니다.

  2. 이미 추가하지 않은 경우, ONANSWER 또는 ONASSIGNMENT 다음에 SNIPPET 작업을 추가합니다.

  3. 스크립트 캔버스에서 SNIPPET 작업을 두 번 클릭합니다.

  4. 다음 각 코드 줄을 복사하여 편집기 창의 텍스트 보기 탭에 붙여넣습니다.

    
    DYNAMIC createPayload
    DYNAMIC createDataArray
    						
    DYNAMIC item1
    item1.field = "subject"
    item1.value = "New Record - {CONTACTID}"
    DYNAMIC item2
    item2.field = "phonenumber"
    item2.value = "{ANI}"
    DYNAMIC item3
    item3.field = "new_contactid"
    item3.value = "{CONTACTID}"
    						
    createPayload.entity = "phonecalls"
    		ASSIGN createDataArray[1] = item1
    		ASSIGN createDataArray[2] = item2
    		ASSIGN createDataArray[3] = item3
    CreatePayload.data = createDataArray
    						
    createPayload.pinnedRecord = "[true or false]"
    						
    DYNAMIC create[RecordName]Payload
    create[RecordName]Payload.workflowInput = createPayload
    						
    ASSIGN create[RecordName]Json = "{create[RecordName]Payload.asjson()}"
    		

    그러한 각 라인을 포함해야 합니다.

  5. createPayload.pinnedRecord 속성의 값을 true 또는 false(으)로 변경합니다. true(으)로 설정되면, 생성된 레코드가 고객 카드의 현재 인터랙션 섹션의 상담원에게 표시됩니다. false(으)로 설정되면 고객 카드의 최신 인터랙션 섹션에 표시됩니다. 페이로드에 이 속성을 포함하지 않으면 false인 것으로 간주됩니다.
  6. 코드의 마지막 세 줄에 있는 [RecordName]의 모든 인스턴스를 생성한 레코드의 이름으로 변경합니다. 속성의 카멜 표기법과 일치하도록 이름을 대문자로 표기합니다. 예를 들어, 생성한 레코드의 이름이 phonecall인 경우, 코드는 다음과 같습니다.

    
    DYNAMIC createPhoneCallPayload
    createPhoneCallPayload.workflowInput = createPayload
    						
    ASSIGN createPhoneCallJson = "{createPhoneCallPayload.asjson()}"
    		
  7. 추가적인 필드를 추가하려면:

    1. item3.value = "{CONTACTID}" 아래에 추가 동적 데이터 개체를 만듭니다. 이 형식을 따릅니다.

      
      DYNAMIC item#
      item#.field = "[fieldname]"
      item#.value = "{variable}"
      		
    2. 그런 다음 createPayload.entity = "phonecalls" 아래에 추가 데이터 배열을 만듭니다. 이 형식을 따릅니다.

      
      ASSIGN createDataArray[#] = item#
      		

      배열에 추가하는 각 추가 항목에 대해 번호(#)가 하나씩 증가해야 합니다.

  8. 스크립트를 저장합니다.

  9. Studio에서 인터랙션을 시뮬레이션하여 스크립트를 테스트할 수 있습니다.

표준 생성 워크플로 구성

사용자는 표준 생성 워크플로를 사용하여 Microsoft Dynamics 내의 표준 Microsoft Dynamics 레코드를 검색할 수 있습니다.

표준 생성 워크플로의 SNIPPET 페이로드에서는 필드를 추가 또는 삭제할 수 없습니다. 필드를 추가 또는 삭제하는 경우 레코드는 생성되지 않습니다. 원하는 필드를 사용하여 표준 또는 사용자 지정 레코드를 생성하려면 사용자 지정 레코드 생성 워크플로를 사용합니다.

계정 생성 워크플로 구성

이 예제 스크립트를 사용합니다.

  1. Studio에서 계정 생성 워크플로를 구성할 스크립트를 엽니다.

  2. 이미 추가하지 않은 경우, BEGIN 다음 Workflow Execute 작업 앞에 SNIPPET 작업을 추가합니다.

  3. 스크립트 캔버스에서 SNIPPET 작업을 두 번 클릭합니다.

  4. 다음 각 코드 줄을 복사하여 편집기 창의 텍스트 보기 탭에 붙여넣습니다.

    
    DYNAMIC createAccount
    createAccount.accountName = "[Contact Name]"
    createAccount.email = "[email address]"
    createAccount.mainPhone = "{ANI}"
    DYNAMIC createAccountPayload
    createAccountPayload.workflowInput = createAccount
    ASSIGN createAccountJson = "{createAccountPayload.asjson()}"
    		

    그러한 각 라인을 포함해야 합니다. 필드를 비워 두려는 경우, null 값("")을 사용할 수 있습니다. 예를 들면 createAccount.email = ""입니다.

  5. createAccount.accountName 특성의 값을 컨택의 이름으로 변경합니다. 예를 들면 createAccount.accountName = "Elinor Dashwood"입니다. 이 값은 하드 코딩되거나 변수이거나 이들의 조합일 수 있습니다. 각 상호작용에 대해 이 값을 업데이트하려면 변수를 사용합니다.

  6. createAccount.email 특성의 값을 컨택의 이메일 주소로 변경합니다. 예를 들면 createAccount.email = "elinor.dashwood@classics.com"입니다. 이 값은 하드 코딩되거나 변수이거나 이들의 조합일 수 있습니다. 각 상호작용에 대해 이 값을 업데이트하려면 변수를 사용합니다.

  7. 스크립트를 저장합니다.

  8. Studio에서 인터랙션을 시뮬레이션하여 스크립트를 테스트할 수 있습니다.

케이스 생성 워크플로 구성

  1. Studio에서 케이스 생성 워크플로를 구성할 스크립트를 엽니다.

  2. 이미 추가하지 않은 경우, BEGIN 다음 Workflow Execute 작업 앞에 SNIPPET 작업을 추가합니다.

  3. 스크립트 캔버스에서 SNIPPET 작업을 두 번 클릭합니다.

  4. 다음 각 코드 줄을 복사하여 편집기 창의 텍스트 보기 탭에 붙여넣습니다.

    
    DYNAMIC createCase
    createCase.title = "[Case Name]"
    createCase.entityType = "contact" 
    createCase.phoneNumber = "{ANI}"
    createCase.email = "[email address]"
    DYNAMIC createCasePayload
    createCasePayload.workflowInput = createCase
    ASSIGN createCaseJson = "{createCasePayload.asjson()}"
    		

    그러한 각 라인을 포함해야 합니다. 필드를 비워 두려는 경우, null 값("")을 사용할 수 있습니다. 예를 들면 createCase.email = ""입니다.

  5. createCase.title 특성의 값을 케이스의 이름으로 변경합니다. 예를 들면 createCase.title = "Elinor's Case"입니다. 이 값은 하드 코딩되거나 변수이거나 이들의 조합일 수 있습니다. 각 상호작용에 대해 이 값을 업데이트하려면 변수를 사용합니다.

  6. createCase.email 특성의 값을 컨택의 이메일 주소로 변경합니다. 예를 들면 createCase.email = "elinor.dashwood@classics.com"입니다. 이 값은 하드 코딩되거나 변수이거나 이들의 조합일 수 있습니다. 각 상호작용에 대해 이 값을 업데이트하려면 변수를 사용합니다.

  7. 스크립트를 저장합니다.

  8. Studio에서 인터랙션을 시뮬레이션하여 스크립트를 테스트할 수 있습니다.

컨택 생성 워크플로 구성

이 예제 스크립트를 사용합니다.

  1. Studio에서 컨택 생성 워크플로를 구성할 스크립트를 엽니다.

  2. 이미 추가하지 않은 경우, BEGIN 다음 Workflow Execute 작업 앞에 SNIPPET 작업을 추가합니다.

  3. 스크립트 캔버스에서 SNIPPET 작업을 두 번 클릭합니다.

  4. 다음 각 코드 줄을 복사하여 편집기 창의 텍스트 보기 탭에 붙여넣습니다.

    
    DYNAMIC createContact
    createContact.firstName = "[first name]"
    createContact.lastName = "[last name]"
    createContact.email = "[email address]"
    createContact.businessPhone = "{ANI}"
    DYNAMIC createContactPayload
    createContactPayload.workflowInput = createContact
    ASSIGN createContactJson = "{createContactPayload.asjson()}"
    		

    그러한 각 라인을 포함해야 합니다. 필드를 비워 두려는 경우, null 값("")을 사용할 수 있습니다. 예를 들면 createContact.email = ""입니다.

  5. createContact.firstName 속성의 값을 컨택의 이름으로 변경합니다. 예를 들면 createContact.firstName = "Elinor"입니다. 이 값은 하드 코딩되거나 변수이거나 이들의 조합일 수 있습니다. 각 상호작용에 대해 이 값을 업데이트하려면 변수를 사용합니다.

  6. createContact.lastName 특성의 값을 컨택의 성으로 변경합니다. 예를 들면 createContact.lastName = "Dashwood"입니다. 이 값은 하드 코딩되거나 변수이거나 이들의 조합일 수 있습니다. 각 상호작용에 대해 이 값을 업데이트하려면 변수를 사용합니다.

  7. createContact.email 특성의 값을 컨택의 이메일 주소로 변경합니다. 예를 들면 createContact.email = "elinor.dashwood@classics.com"입니다. 이 값은 하드 코딩되거나 변수이거나 이들의 조합일 수 있습니다. 각 상호작용에 대해 이 값을 업데이트하려면 변수를 사용합니다.

  8. 스크립트를 저장합니다.

  9. Studio에서 인터랙션을 시뮬레이션하여 스크립트를 테스트할 수 있습니다.

리드 생성 워크플로 구성

이 예제 스크립트를 사용합니다.

  1. Studio에서 리드 생성 워크플로를 구성할 스크립트를 엽니다.

  2. 이미 추가하지 않은 경우, BEGIN 다음 Workflow Execute 작업 앞에 SNIPPET 작업을 추가합니다.

  3. 스크립트 캔버스에서 SNIPPET 작업을 두 번 클릭합니다.

  4. 다음 각 코드 줄을 복사하여 편집기 창의 텍스트 보기 탭에 붙여넣습니다.

    
    DYNAMIC createLead
    createLead.topic = "[topic]"
    createLead.mobilePhone = "{ANI}"
    DYNAMIC createLeadPayload
    createLeadPayload.workflowInput = createLead
    ASSIGN createLeadJson = "{createLeadPayload.asjson()}"
    		

    그러한 각 라인을 포함해야 합니다. 필드를 비워 두려는 경우, null 값("")을 사용할 수 있습니다. 예를 들면 createLead.email = ""입니다.

  5. createLead.topic 특성의 값을 리드의 토픽으로 변경합니다: 컨택이 관심을 가진 토픽. 예를 들면 createLead.topic = "car insurance"입니다. 이 값은 하드 코딩되거나 변수이거나 이들의 조합일 수 있습니다. 각 상호작용에 대해 이 값을 업데이트하려면 변수를 사용합니다.

  6. 스크립트를 저장합니다.

  7. Studio에서 인터랙션을 시뮬레이션하여 스크립트를 테스트할 수 있습니다.

기회 생성 워크플로 구성

  1. Studio에서 기회 생성 워크플로를 구성할 스크립트를 엽니다.

  2. 이미 추가하지 않은 경우, BEGIN 다음 Workflow Execute 작업 앞에 SNIPPET 작업을 추가합니다.

  3. 스크립트 캔버스에서 SNIPPET 작업을 두 번 클릭합니다.

  4. 다음 각 코드 줄을 복사하여 편집기 창의 텍스트 보기 탭에 붙여넣습니다.

    
    DYNAMIC createOpportunity
    createOpportunity.topic = "[topic]"
    DYNAMIC createOpportunityPayload
    createOpportunityPayload.workflowInput = createOpportunity
    ASSIGN createOpportunityJson = "{createOpportunityPayload.asjson()}"
    		

    그러한 각 라인을 포함해야 합니다. 필드를 비워 두려는 경우, null 값("")을 사용할 수 있습니다. 예를 들면 createOpportunity.topic = ""입니다.

  5. createOpportunity.topic 특성의 값을 기회의 토픽으로 변경합니다: 컨택이 관심을 가진 토픽. 예를 들면 createOpportunity.topic = "car insurance"입니다. 이 값은 하드 코딩되거나 변수이거나 이들의 조합일 수 있습니다. 각 상호작용에 대해 이 값을 업데이트하려면 변수를 사용합니다.

  6. 스크립트를 저장합니다.

  7. Studio에서 인터랙션을 시뮬레이션하여 스크립트를 테스트할 수 있습니다.

전화 통화 생성 워크플로 구성

  1. Studio에서 전화 통화 생성 워크플로를 구성할 스크립트를 엽니다.

  2. 이미 추가하지 않은 경우, BEGIN 다음 Workflow Execute 작업 앞에 SNIPPET 작업을 추가합니다.

  3. 스크립트 캔버스에서 SNIPPET 작업을 두 번 클릭합니다.

  4. 다음 각 코드 줄을 복사하여 편집기 창의 텍스트 보기 탭에 붙여넣습니다.

    
    DYNAMIC createPhoneCall
    createPhoneCall.subject = "[subject]"
    createPhoneCall.phoneNumber = "{ANI}"
    createPhoneCall.directionCode = "Inbound"
    DYNAMIC createPhoneCallPayload
    createPhoneCallPayload.workflowInput = createPhoneCall
    ASSIGN createPhoneCallJson = "{createPhoneCallPayload.asjson()}"
    		

    그러한 각 라인을 포함해야 합니다. 필드를 비워 두려는 경우, null 값("")을 사용할 수 있습니다. 예를 들면 createPhoneCall.subject = ""입니다.

  5. createPhoneCall.subject 특성의 값을 통화의 주제로 변경합니다. 예를 들면 createPhoneCall.subject = "billing issue"입니다. 이 값은 하드 코딩되거나 변수이거나 이들의 조합일 수 있습니다. 각 상호작용에 대해 이 값을 업데이트하려면 변수를 사용합니다.

  6. 스크립트를 저장합니다.

  7. Studio에서 인터랙션을 시뮬레이션하여 스크립트를 테스트할 수 있습니다.

레코드 고정

고객 카드의 현재 인터랙션에 레코드를 고정할 수 있습니다.

  1. 고정하려는 레코드에 대해 워크플로가 포함된 SNIPPET을 엽니다.

  2. 이 코드 줄을 복사한 다음 DYNAMIC create[RecordType]Payload 앞에 붙여넣습니다.

    						
    createPayload.pinnedRecord = "true"					
    		
  3. 스크립트를 저장합니다.

레코드 관계 설정

Microsoft Dynamics에서 생성된 레코드와 다른 레코드의 관계를 설정할 수 있습니다. 이렇게 하면 상담원이 CXone Agent 고객 카드의 관련 인터랙션 섹션에 표시되는 레코드로 링크 파란색 상자 안의 체인 링크 아이콘.할 수 있게 됩니다. 인터랙션이 완료되면 링크가 수행됩니다. 인바운드 인터랙션의 경우 연결은 레코드의 발신자 필드에만 적용됩니다. 아웃바운드 인터랙션의 경우 레코드의 수신자 필드에만 적용됩니다.

생성된 레코드는 고정되어야 합니다.

  1. 관계를 설정하려는 레코드에 대한 워크플로가 포함된 SNIPPET을 엽니다.

  2. 이 코드 줄을 복사한 다음 DYNAMIC create[RecordType]Payload 앞에 붙여넣습니다.

    						
    createPayload.relatesTo = "true"					
    		
  3. 스크립트를 저장합니다.