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

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

ワークフローのタイプ

説明

ワークフロー

検索 検索ワークフローは、エージェントが扱っているインタラクションに該当するレコードがあるかどうかServiceNowをスキャンします。 ANIを検索
カスタム検索
カスタム作成 カスタム作成ワークフローは、標準フィールドとカスタムフィールドの両方で任意のレコードタイプを作成します。 カスタムレコードを作成する
標準作成 標準作成ワークフローは、標準データフィールドで標準ServiceNowレコードを作成します。これらのワークフローの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つまたは複数のServiceNowレコードを検索できます。指定したレコード内の複数のフィールドや変数を検索することもできます。ServiceNow演算子を使えば、いろいろな検索の必要条件を結合できます。

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

  • 消費者

  • 消費者ユーザー

  • コンタクト

  • ユーザー

  • 世帯

  • インシデント

  • インタラクション

  • ケース

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

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

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

  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インタラクションのシミュレーションを行うことができます。

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

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

これは、ServiceNowレコードを作成するための推奨される方法です。

カスタムレコード作成ワークフロー(以前の名称は「エンティティを作成」を構成する

カスタムレコードの作成ワークフローは、標準またはカスタムの任意のタイプのServiceNowレコードを作成します。このレコードは、標準およびカスタムのデータフィールドを表示できます。フィールドにはテキスト、数値、または変数を入れなければなりません。ほとんどの場合、バインドされたフィールドは、検索結果またはオプションのリストから入力されますが、このワークフローを設定して、ハードコードされたデータをバインド済フィールドに追加できます。

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

これは、以前はエンティティの作成と呼ばれていました。

  1. Studioで、カスタムレコード作成ワークフローを設定するスクリプトを開きます。

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

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

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

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

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

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

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

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

ケース作成ワークフローを構成する

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

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

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

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

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

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

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

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

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

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

レコードをピン留めします

顧客カードの現在のインタラクションセクションにレコードをピン留めすることができます。

  1. ピン留めしたいレコードのワークフローでSNIPPETを開きます。

  2. コードのこの行をコピーし、DYNAMIC create[RecordType]Payloadの前に貼り付けます:

    						
    createPayload.pinnedRecord = "true"					
    		
  3. スクリプトを保存します。

スクリーンポップ用レコードを設定します

ServiceNowスクリーンポップ閉じた 連絡先に関する情報を含む構成可能なポップアップウィンドウ。特定のイベントの後、通常はエージェントが連絡先に接続したときに、エージェントの画面に表示されます。として自動的に表示されるようにレコードを設定できます。レコードは1つしか表示できません:

  • 一致するレコードがひとつでもあれば、そのレコードが表示されます。

  • 複数の一致レコードがあり、作成されたレコードが1つだけの場合は、作成されたレコードが表示されます。

  • 複数の一致レコードがあり、複数の作成済みレコードがある場合は、最後に作成されたレコードが表示されます。

  1. スクリーンポップとして表示させたいレコードのワークフローでSNIPPETを開きます。

  2. レコードをピン留めします。createPayload.pinnedRecordが欠落しているか、falseに設定されている場合、以下のステップを完了しても、作成されたレコードは自動的にServiceNowにスクリーンポップとして表示されません。

  3. コードのこの行をコピーし、DYNAMIC create[RecordType]Payloadの前に貼り付けます:

    						
    createPayload.screenPops = "true"					
    		
  4. スクリプトを保存します。