CXone Agent Embedded에 대한 ServiceNow 워크플로 구성

CXone Agent Embedded을(를) ServiceNow에 통합하기 위한 마지막 단계입니다.

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

워크플로 형식

설명

워크플로

검색 검색 워크플로는 상담원이 처리하는 인터랙션에 적용되는 레코드를 찾기 위해 ServiceNow을(를) 검색합니다. ANI 검색
사용자 지정 검색
사용자 지정 생성 사용자 지정 생성 워크플로에서는 표준 필드와 사용자 지정 필드를 모두 사용하여 아무 레코드 유형이나 생성합니다. 사용자 정의 레코드 생성
표준 생성 표준 생성 워크플로에서는 표준 데이터 필드로 표준 ServiceNow 레코드를 생성합니다. 이러한 워크플로의 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에서 인터랙션을 시뮬레이션하여 스크립트를 테스트할 수 있습니다.

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

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

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

  • 소비자

  • 소비자 사용자

  • 컨택

  • 사용자

  • 가정

  • 인시던트

  • 인터랙션

  • 케이스

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

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

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

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

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

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

  6. payload.filter 속성의 값을 변경합니다. 이렇게 하면 레코드의 검색 필터 기준이 결정됩니다.

    1. {variable}을(를) 검색될 변수로 변경합니다. 이는 대소문자를 구분합니다.

    2. 더 많은 변수를 추가하려면 ServiceNow 오퍼레이터를 사용합니다. ServiceNow 오퍼레이터 전체 목록을 ServiceNow 문서 외부 사이트로의 이동을 나타내는 화살표가 있는 상자입니다.에서 찾을 수 있습니다. 이들은 대소문자를 구분합니다.

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

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

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

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

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

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

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

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

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

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

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

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

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

    
    DYNAMIC createPayload
    DYNAMIC createDataArray
    						
    DYNAMIC item1
    item1.name = "subject"
    item1.value = "New Record - {CONTACTID}"
    DYNAMIC item2
    item2.name = "phonenumber"
    item2.value = "{ANI}"
    DYNAMIC item3
    item3.name = "new_contactid"
    item3.value = "{CONTACTID}"
    						
    createPayload.tablename = "incident"
    		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]의 모든 인스턴스를 생성한 레코드의 이름으로 변경합니다. 속성의 카멜 표기법과 일치하도록 이름을 대문자로 표기합니다. 예를 들어, 생성한 레코드의 이름이 incident인 경우, 코드는 다음과 같습니다.

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

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

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

      
      ASSIGN createDataArray[#] = item#
      		

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

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

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

표준 생성 워크플로 구성

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

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

케이스 생성 워크플로 구성

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

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

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

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

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

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

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

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

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

소비자 생성 워크플로 구성

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

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

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

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

    
    DYNAMIC createConsumer
    createConsumer.phoneNumber = "{ANI}"
    createConsumer.firstName = "[first name]"
    createConsumer.lastName = "[last name]"
    createConsumer.email = "[email address]"
    
    DYNAMIC createConsumerPayload
    createConsumerPayload.workflowInput = createConsumer
    						
    ASSIGN createConsumerJson = "{createConsumerPayload.asjson()}"
    		

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

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

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

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

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

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

컨택 생성 워크플로 구성

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

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

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

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

    
    DYNAMIC createContact
    createContact.phoneNumber = "{ANI}"
    createContact.firstName = "[first name]"
    createContact.lastName = "[last name]"
    createContact.email = "[email address]"
    						
    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 createIncident
    createIncident.title = "[Incident Name]"
    createIncident.entity = "Case"
    createIncident.phoneNumber = "{ANI}"
    
    DYNAMIC createIncidentPayload
    createIncidentPayload.workflowInput = createIncident
    ASSIGN createIncidentJson = "{createIncidentPayload.asjson()}"
    		

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

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

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

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

인터랙션 생성 워크플로 구성

  1. Studio에서 인터랙션 생성 워크플로를 구성할 스크립트를 엽니다.

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

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

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

    
    DYNAMIC createInteraction
    createInteraction.title = "[Interaction Name]"
    createInteraction.entity = "Case"
    createInteraction.phoneNumber = "{ANI}"
    
    DYNAMIC createInteractionPayload
    createInteractionPayload.workflowInput = createInteraction
    ASSIGN createInteractionJson = "{createInteractionPayload.asjson()}"
    		

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

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

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

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

사용자 생성 워크플로 구성

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

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

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

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

    
    DYNAMIC createUser
    createUser.phoneNumber = "{ANI}"
    createUser.firstName = "[first name]"
    createUser.lastName = "[last name]"
    createUser.email = "[email address]"
    
    DYNAMIC createUserPayload
    createUserPayload.workflowInput = createUser
    						
    ASSIGN createUserJson = "{createUserPayload.asjson()}"
    		

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

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

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

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

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

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

레코드 고정

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

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

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

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

화면 팝업용 레코드 구성

자동으로 ServiceNow화면 팝업닫힘 컨택에 대한 정보가 있는 구성할 수 있는 팝업 창입니다. 일반적으로 상담원이 컨택에 연결할 때와 같은 특정 이벤트 후 상담원의 화면에 나타납니다.으로 표시되는 레코드를 구성할 수 있습니다. 레코드는 하나만 표시될 수 있습니다.

  • 일치하는 레코드가 하나인 경우에는 해당 레코드가 표시됩니다.

  • 일치하는 레코드가 여러 개인데 생성된 레코드는 하나뿐인 경우에는 생성된 레코드가 표시됩니다.

  • 일치하는 레코드가 여러 개인데 생성된 레코드가 여러 개인 경우에는 마지막으로 생성된 레코드가 표시됩니다.

  1. 화면 팝업으로 표시되기를 원하는 레코드에 대한 워크플로가 포함된 SNIPPET을 엽니다.

  2. 레코드를 고정합니다. createPayload.pinnedRecord이(가) 누락되었거나 false(으)로 설정된 경우, 다음 단계를 모두 완료했어도 생성된 레코드가 ServiceNow에 화면 팝업으로 자동으로 표시되지 않습니다.

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

    						
    createPayload.screenPops = "true"					
    		
  4. 스크립트를 저장합니다.