CXone Agent에 대한 Oracle 워크플로 구성

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

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

워크플로 형식

설명

워크플로

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

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

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

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

  • 자산

  • 컨택

  • 인시던트

  • 영업 기회

  • 조직

  • 작업

  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 = "asset"입니다. 이는 대소문자를 구분합니다.

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

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

    2. [operator]을(를) 사용할 Oracle 오퍼레이터로 변경합니다. Oracle 오퍼레이터 전체 목록을 Oracle 문서 외부 사이트로의 이동을 나타내는 화살표가 있는 상자입니다.에서 찾을 수 있습니다. 이는 대소문자를 구분합니다.

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

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

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

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

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

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

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

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

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

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

  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 = "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#.field = "[fieldname]"
      item#.value = "{variable}"
      		
    2. 그런 다음 createPayload.entity = "incident" 아래에 추가 데이터 배열을 만듭니다. 이 형식을 따릅니다.

      
      ASSIGN createDataArray[#] = item#
      		

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

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

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

표준 생성 워크플로 구성

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

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

자산 생성 워크플로 구성

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

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

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

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

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

    
    DYNAMIC createPayload
    createPayload.table="assets"
    createPayload.data.name ="[asset name]"
    createPayload.data.serialNumber ="[serial number]"
    createPayload.data.contact.id = "[contact ID number]"
    DYNAMIC product1
    product1.lookupName = "[product name]"
    DYNAMIC productArr
    productArr[1] = product1
    createPayload.data.product = productArr
    
    DYNAMIC createAssetsPayload
    createAssetsPayload.workflowInput=createPayload
    ASSIGN createAssetJson="{createAssetsPayload.asjson()}"
    		

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

  5. 속성의 값을 변경합니다. 이러한 값은 하드 코딩되거나 변수이거나 이들의 조합일 수 있습니다. 각 인터랙션에 대해 값을 업데이트하려면 변수를 사용합니다.

    1. createPayload.data.name 특성의 값을 자산의 이름으로 변경합니다. 예를 들면 createPayload.data.name = "Asset 2"입니다.

    2. createPayload.data.serialNumber 특성의 값을 제품의 일련 번호로 변경합니다. 예를 들면 createPayload.data.serialNumber = "SN0002301-2"입니다.

    3. createPayload.data.contact.id 특성의 값을 컨택의 ID 번호로 변경합니다. 예를 들면 createPayload.data.contact.id = "1234567890"입니다.

    4. product1.lookupName 특성의 값을 제품의 이름으로 변경합니다. 예를 들면 product1.lookupName = "Smart Thermostat Z"입니다.

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

  7. 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.subject = "[Incident Name]"
    createIncident.primaryContactID = "{CONTACTID}"
    
    DYNAMIC createIncidentPayload
    createIncidentPayload.workflowInput = createIncident
    						
    ASSIGN createIncidentJson = "{createIncidentPayload.asjson()}"
    		

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

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

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

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

기회 생성 워크플로 구성

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

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

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

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

    
    DYNAMIC createOpportunity
    createOpportunity.subject = "[Opportunity Name]"
    createOpportunity.primaryContactID = "{CONTACTID}"
    
    DYNAMIC createOpportunityPayload
    createOpportunityPayload.workflowInput = createOpportunity
    						
    ASSIGN createOpportunityJson = "{createOpportunityPayload.asjson()}"
    		

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

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

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

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

조직 생성 워크플로 구성

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

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

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

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

    
    DYNAMIC createOrganization
    createOrganization.name = "[Organization Name]"
    
    DYNAMIC createOrganizationPayload
    createOrganizationPayload.workflowInput = createOrganization
    						
    ASSIGN createOrganizationJson = "{createOrganizationPayload.asjson()}"
    		

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

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

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

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

작업 생성 워크플로 구성

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

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

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

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

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

    
    DYNAMIC createPayload
    createPayload.table="tasks"
    createPayload.data.name ="[task name]"
    createPayload.data.notes.text ="[notes for task]"
    createPayload.data.statusWithType.status.lookupName = "[Not Started, In Progress, Completed, Waiting, or Deferred]"
    createPayload.data.percentComplete = [#]
    createPayload.data.priority.id = [1, 2, or 3]
    createPayload.data.organization.id = [#]
    
    DYNAMIC createTasksPayload
    createTasksPayload.workflowInput=createPayload
    ASSIGN createTaskJson="{createTasksPayload.asjson()}"
    
    		

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

  5. 속성의 값을 변경합니다. 이러한 값은 하드 코딩되거나 변수이거나 이들의 조합일 수 있습니다. 각 인터랙션에 대해 값을 업데이트하려면 변수를 사용합니다.

    1. createPayload.data.name 특성의 값을 작업의 이름으로 변경합니다. 예를 들면 createPayload.data.name = "Task 2"입니다.

    2. createPayload.data.notes.text 특성의 값을 작업에 대한 메모로 변경합니다. 예를 들면 createPayload.data.notes.text = "This is a test task"입니다.

    3. createPayload.data.statusWithType.status.lookupName 특성의 값을 작업의 상태로 변경합니다: Not Started, In Progress, Completed, Waiting 또는 Deferred. 예를 들면 createPayload.data.statusWithType.status.lookupName = "In Progress"입니다.

    4. createPayload.data.percentComplete 특성의 값을 백분율 기호(%) 없이 작업 완료율로 변경합니다. 예를 들면, createPayload.data.percentComplete = 80은(는) 작업을 80% 완료된 것으로 표시합니다.

    5. createPayload.data.priority.id 특성의 값을 작업의 우선순위로 변경합니다.

      • 1: 낮음

      • 2: 보통

      • 3: 높음

      예를 들면, createPayload.data.priority.id = 1은(는) 작업을 낮은 우선순위로 표시합니다.

    6. createPayload.data.organization.id 특성의 값을 작업이 속한 조직의 ID 번호로 변경합니다. 예를 들면 createPayload.data.organization.id = 18입니다.

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

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

레코드 고정

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

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

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

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