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

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

ワークフローのタイプ

説明

ワークフロー

検索 検索ワークフローは、エージェントが扱っているインタラクションに該当するレコードがあるかどうかMicrosoft Dynamicsをスキャンします。 ANIを検索
カスタム検索
カスタム作成 カスタム作成ワークフローは、標準フィールドとカスタムフィールドの両方で任意のレコードタイプを作成します。 カスタムレコードを作成する
標準作成

標準作成ワークフローは、標準データフィールドで標準Microsoft Dynamicsレコードを作成します。これらのワークフローの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つまたは複数のMicrosoft Dynamicsレコードを検索できます。指定したレコード内の複数のフィールドや変数を検索することもできます。Microsoft Dynamics演算子を使えば、いろいろな検索の必要条件を結合できます。

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

  • コンタクト

  • アカウント

  • リード

  • 機会

  • ケース

  • タスク

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

  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 = "incident" 。これは大文字と小文字を区別します。

  6. payload.filter属性の値を変更します。これは、レコードの検索フィルター基準を決定します。例えば、 payload.filter = "phone='{ANI}'"

    1. [fieldName]ticketNumberなど検索に使いたいフィールド名に変更します。これは大文字と小文字を区別します。

    2. 使用するMicrosoft Dynamics演算子に[operator]を変更します。これは大文字と小文字を区別します。

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

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

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

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

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

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

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

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

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

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

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

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

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

アカウント作成ワークフローを構成する

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

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

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

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

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

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

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

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

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

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

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

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

コンタクト作成ワークフローを構成する

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

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

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

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

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

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

リード作成ワークフローを構成する

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

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

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

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

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

  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スクリーンポップ閉じた コンタクトに関する情報が表示される、設定可能なポップアップウィンドウ。 通常、エージェントがコンタクトに接続した場合など、特定のイベント後にエージェントの画面に表示されます。として自動的に表示されるようにレコードを設定できます。Microsoft DynamicsCIF v2.0を使用している場合、レコードは1つしか表示されません。作成されたレコードが複数ある場合は、最初のレコードのみが表示されます。エージェントは、顧客カードの他のレコードをクリックして開く必要があります。

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

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

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

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

レコードを関連させる

作成済みレコードは、Microsoft Dynamicsの他のレコードと関連させることができます。これにより、エージェントは、それをCXone Agent Embedded 顧客カードの関連するインタラクションセクションに表示されるレコードにリンク緑のボックスの中のチェーンリンクのアイコン。することができます。このリンクはインタラクションが完了したときに行われます。インバウンドインタラクションでは、リンクはレコードの発信元フィールドみ適用されます。アウトバウンドインタラクションでは、レコードの発信先フィールドにのみ適用されます。

作成済みレコードは、ピン留めされなければなりません。

  1. 関連付けたいレコードのワークフローでSNIPPETを開きます。

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

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