CXone Agent用にOracleワークフローを構成する

OracleおよびCXone Agentについて、検索、カスタム作成、標準作成ワークフローを構成できます。これらのワークフローは、Oracleレコード(別名、エンティティまたはオブジェクト)を検索または作成します。これはダイナミックデータマッピングのバックエンド設定です。

ワークフローのタイプ

説明

ワークフロー

検索 検索ワークフローは、エージェントが扱っているインタラクションに該当するレコードがあるかどうかOracleをスキャンします。 ANIを検索
カスタム検索
カスタム作成 カスタム作成ワークフローは、標準フィールドとカスタムフィールドの両方で任意のレコードタイプを作成します。 カスタムレコードを作成する
標準作成 標準作成ワークフローは、標準データフィールドで標準Oracleレコードを作成します。これらのワークフローのSNIPPETペイロードは、標準フィールドとそれらのフィールドのみを含むものでなければなりません。 アセットを作成する
コンタクト作成
インシデントを作成する
機会作成
組織を作成する
タスクを作成

検索ワークフローを構成する

検索ワークフローは2つあります:ANIの検索およびカスタム検索

ANI検索ワークフローを構成する

ANIの検索ワークフローでは、ACDからANI閉じた 発信者IDとも呼ばれます。着信音声通話のリストされた電話番号。を使用し、すべての標準電話フィールドで一致するレコードを検索します。

  1. Studioで、ANI検索ワークフローを設定するスクリプトを開きます。

  2. SNIPPETアクションBEGINの後、およびWorkflow Executeアクションの前に追加します(まだ追加していない場合)。

  3. スクリプトキャンバスでSNIPPETアクションをダブルクリックします。

  4. コードの以下の各行をコピーして、エディターウィンドウの[テキストビュー]タブに貼り付けます。

    
    DYNAMIC searchInput
    searchInput.workflowInput.phoneNumber = "{ANI}"
    						
    ASSIGN searchJson = "{searchInput.asjson()}"
    		
  5. スクリプトを保存します。

  6. スクリプトをテストするには、Studioインタラクションのシミュレーションを行うことができます。

カスタム検索ワークフローを構成する

カスタム検索ワークフローでは、1つまたは複数のOracleレコードを検索できます。指定したレコード内の複数のフィールドや変数を検索することもできます。Oracle演算子を使えば、いろいろな検索の必要条件を結合できます。

このワークフローはこれらのOracleレコードをサポートします:

  • アセット

  • コンタクト

  • インシデント

  • 機会

  • 組織

  • タスク

  1. Studioで、カスタム検索ワークフローを設定するスクリプトを開きます。

  2. SNIPPETアクションBEGINの後、およびWorkflow Executeアクションの前に追加します(まだ追加していない場合)。

  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. 使用するOracle演算子に[operator]を変更します。Oracle演算子の完全なリストは、Oracleドキュメンテーション外部サイトへのナビゲーションを示す矢印付きのボックス。にあります。これは大文字と小文字を区別します。

    3. {variable}をフィールドに割り当てたい変数に変更します。これは大文字と小文字を区別します。

  7. 追加の検索フィルターを追加するには、フィルターの間にOracle演算子を使用します。例:

    
    payload.filter = "phone='{ANI}'AND customer_number_c='{CustomerNumber}'"
    		
  8. スクリプトを保存します。

  9. スクリプトをテストするには、Studioインタラクションのシミュレーションを行うことができます。

カスタム作成ワークフローを構成する

カスタム作成ワークフローでは、SNIPPETペイロードを設定して、標準またはカスタムの任意のタイプのOracleレコードを作成できます。標準またはカスタムの任意のフィールドタイプにも入力できます。たとえば、レコードタイプからの標準フィールドの一部および独自のカスタムフィールドでアセットレコードを作成することもできます。

これは、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. コードの最後の3行の[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#
      		

      配列に各追加項目を追加するごとに、数字(#)が1ずつ増えていく必要があります。

  8. スクリプトを保存します。

  9. スクリプトをテストするには、Studioインタラクションのシミュレーションを行うことができます。

標準作成ワークフローを構成する

標準作成ワークフローでは、ユーザーはOracle内の標準Oracleレコードを検索できます。

標準作成ワークフローのSNIPPETペイロードのフィールドを追加または削除することはできません。フィールドを追加または削除した場合、レコードは作成されません。希望のフィールドで標準レコードまたはカスタムレコードを作成するには、カスタムレコード作成ワークフローを使用します。

アセット作成ワークフローを構成する

このスクリプト例を使用します。

  1. Studioで、アセット作成ワークフローを構成するスクリプトを開きます。

  2. SNIPPETアクションBEGINの後、およびWorkflow Executeアクションの前に追加します(まだ追加していない場合)。

  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. SNIPPETアクションBEGINの後、およびWorkflow Executeアクションの前に追加します(まだ追加していない場合)。

  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属性の値をコンタクトのEメールアドレスに変更します。例えば、 createContact.email = "elinor.dashwood@classics.com" 。この値は、ハードコードされているか、変数か、または両者の組み合わせです。インタラクションごとにこの値を更新したい場合は、変数を使用します。

  8. スクリプトを保存します。

  9. スクリプトをテストするには、Studioインタラクションのシミュレーションを行うことができます。

インシデントを作成するワークフローを構成する

  1. Studioで、インシデント作成ワークフローを設定するスクリプトを開きます。

  2. SNIPPETアクションBEGINの後、およびWorkflow Executeアクションの前に追加します(まだ追加していない場合)。

  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. SNIPPETアクションBEGINの後、およびWorkflow Executeアクションの前に追加します(まだ追加していない場合)。

  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. SNIPPETアクションBEGINの後、およびWorkflow Executeアクションの前に追加します(まだ追加していない場合)。

  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. SNIPPETアクションBEGINの後、およびWorkflow Executeアクションの前に追加します(まだ追加していない場合)。

  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 StartedIn ProgressCompletedWaitingまたは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. スクリプトを保存します。