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

これは、 SalesforceCXone Agent Integratedと統合する最終ステップである。

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

ワークフローのタイプ

説明

ワークフロー

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

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

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

  • アカウント

  • ケース

  • コンタクト

  • リード

  • 機会

  • 作業指示

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

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

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

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

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

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

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

    
    payload.filter = "phone='{ANI}'AND customer_number_c='{CustomerNumber}'"
    		

    このスクリプトの例は、これがどのように機能するかを示しています。

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

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

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

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

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

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

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

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

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

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

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

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

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

    
    DYNAMIC createPayload
    DYNAMIC createDataArray
    						
    DYNAMIC item1
    item1.field = "[API name]"
    item1.value = "[variable]"
    DYNAMIC item2
    item2.field = "[API name]"
    item2.value = "[variable]"
    DYNAMIC item3
    item3.field = "[API name]"
    item3.value = "[variable]"
    
    createPayload.tablename = "[record type]"
    createDataArray[1] = item1
    createDataArray[2] = item2
    createDataArray[3] = item3
    
    createPayload.data = createDataArray
    						
    createPayload.pinnedRecord = "[true or false]"						
    										
    DYNAMIC createPayload
    createPayload.workflowInput = createPayload
    						
    ASSIGN createJson = "{createPayload.asjson()}"
    		

    それぞれの行を含めなければなりません。

  5. 以下にリストされた属性の値を変更します。これらのいずれかは、ハードコードされているか、変数か、または両者の組み合わせです。インタラクションごとに値を更新したい場合は、変数を使用します。

    1. item1.fieldの値を、表示したい最初のフィールドに変更します。item1.valueをそのフィールドの値に変更します。例:

      
      item1.field = "Status"
      item1.value = "New"
      		
    2. item2.fieldの値を、表示したい2番目のフィールドに変更します。item2.valueをそのフィールドの値に変更します。例:

      
      item2.field = "Origin"
      item2.value = "Phone"
      		
    3. item3.fieldの値を、表示したい3番目のフィールドに変更します。item3.valueをそのフィールドの値に変更します。例:

      
      item3.field = "CXone_Contact_ID_c"
      item3.value = "{ContactID}"
      		
  6. createPayload.tablename属性の値を、検索したいレコード用のAPI名に変更します。例えば、 createPayload.tablename = "account" 。これは大文字と小文字を区別します。

  7. createPayload.pinnedRecord属性の値を、trueまたはfalseに変更します。trueに設定すると、作成されたレコードは、顧客カードの現在のインタラクションセクションのエージェントに対し表示されます。falseに設定すると、顧客カードの最近のインタラクションセクションに表示されます。この属性をペイロードに含めない場合、これはfalseと見なされます。
  8. 追加フィールドを追加するには:

    1. item3.valueの後に追加のitemダイナミックデータオブジェクトを作成します。次の形式に従います:

      
      DYNAMIC item#
      item#.field = "[Field #]"
      item#.value = "[Field # Value]"
      		

      数字(#)は、ダイナミックデータオブジェクトを追加するごとに1ずつ増えていく必要があります。たとえば、item4item5など。

    2. createDataArray[3]の後に追加のデータ配列を作成します。次の形式に従います:

      
      ASSIGN createDataArray[#] = item#
      		

      配列に各追加項目を追加するごとに、数字(#)が1ずつ増えていく必要があります。たとえば、createDataArray[4]createDataArray[5]など。

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

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

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

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

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

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

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

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

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

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

    
    DYNAMIC createAccount
    createAccount.accountName = "[account name]"
    createAccount.accountType = "[account type]"
    createAccount.accountPhone = "{ANI}"
    						
    DYNAMIC createAccountPayload
    createAccountPayload.workflowInput = createAccount
    ASSIGN createAccountJson = "{createAccountPayload.asjson()}"
    		

    それぞれの行を含めなければなりません。フィールドを空白のままにしたい場合は、null値("")を使用できます。例えば、 createAccount.accountType = "" 。しかしながら、createAccount.accountNameにnull値を割り当てることはできません。

  5. createAccount.accountName属性の値をアカウント名に変更します。例えば、 createAccount.accountName = "Elinor from Classics, Inc." 。この値は、ハードコードされているか、変数か、または両者の組み合わせです。インタラクションごとにこの値を更新したい場合は、変数を使用します。

  6. createAccount.accountType属性の値をアカウントのタイプに変更します。例えば、 createAccount.accountType = "Book Orders - Chat" 。この値は、ハードコードされているか、変数か、または両者の組み合わせです。インタラクションごとにこの値を更新したい場合は、変数を使用します。

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

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

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

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

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

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

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

    
    DYNAMIC createCase
    createCase.entityType = "[Contact or Account]"
    createCase.name = "[case name]"
    createCase.phone = "{ANI}"
    createCase.email = "[case email]"
    createCase.company = "[case company]"
    createCase.status = "[case status]"
    createCase.caseReason = "[reason for case]"
    createCase.caseOrigin = "{SKILL}"
    createCase.priority = "[low, medium, high, or critical]"
    createCase.description = "New Record - {CONTACTID}"
    createCase.internalComments = "[internal comments]"
    						
    DYNAMIC createCasePayload
    createCasePayload.workflowInput = createCase
    ASSIGN createCaseJson = "{createCasePayload.asjson()}"
    		

    それぞれの行を含めなければなりません。フィールドを空白のままにしたい場合は、null値("")を使用できます。例えば、 createCase.name = "" 。ただし、 createCase.entityTypeまたは createCase.statusにnull値を割り当てることはできません。

  5. 属性の値を変更します。これらのいずれかは、ハードコードされているか、変数か、または両者の組み合わせです。インタラクションごとに値を更新したい場合は、変数を使用します。

    1. createCase.entityType属性の値をContactまたはAccountに変更します。例えば、 createCase.entityType = "Contact"

    2. createCase.name属性の値をケース名に変更します。例えば、 createCase.name = "Elinor Dashwood's Case"

    3. createCase.email属性の値をケースのEメールアドレスに変更します。例えば、 createCase.email = "elinor.dashwood@classics.com"

    4. createCase.company属性の値をケースの組織に変更します。例えば、 createCase.company = "Classics, Inc."

    5. createCase.status属性の値をケースのステータスに変更します。例えば、 createCase.status = "New"

    6. createCase.caseReason属性の値をケースの理由に変更します。例えば、 createCase.caseReason = "Shipping problems"

    7. createCase.priority属性の値をlowmediumhighまたはcriticalに変更します。例えば、 createCase.priority = "low"

    8. createCase.internalComments 属性の値を、内部で使用するケースの説明に変更します。例:createCase.internalComments = "Elinor's book order is missing.。 It might have a wrong shipping address."

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

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

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

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

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

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

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

    
    DYNAMIC createContact
    createContact.firstName = "[first name]"
    createContact.lastName = "[last name]"
    createContact.homePhone = "{ANI}"
    createContact.mobilePhone = "[mobile phone number]"
    createContact.businessPhone = "{ANI}"
    createContact.email = "[email address]"
    createContact.contactDescription = "[description of contact]"
    
    DYNAMIC createContactPayload
    createContactPayload.workflowInput = createContact
    
    ASSIGN createContactJson = "{createContactPayload.asjson()}"
    		

    それぞれの行を含めなければなりません。フィールドを空白のままにしたい場合は、null値("")を使用できます。例えば、 createContact.firstName = "" 。しかしながら、createContact.lastNameにnull値を割り当てることはできません。

  5. 属性の値を変更します。これらのいずれかは、ハードコードされているか、変数か、または両者の組み合わせです。インタラクションごとに値を更新したい場合は、変数を使用します。

    1. createContact.firstName属性の値をコンタクトの名に変更します。例えば、 createContact.firstName = "Elinor"

    2. createContact.lastName属性の値をコンタクトの姓に変更します。例えば、 createContact.lastName = "Dashwood"

    3. createContact.mobilePhone 属性の値をコンタクトの携帯電話番号に変更します。例えば、 createContact.mobilePhone = "1234567890"

    4. createContact.email属性の値をコンタクトのEメールアドレスに変更します。例えば、 createContact.email = "elinor.dashwood@classics.com"

    5. createContact.contactDescription 属性の値をコンタクトの説明に変更します。例えば、 createContact.contactDescription = "Elinor needs help with her book order"

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

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

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

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

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

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

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

    
    DYNAMIC createLead
    createLead.firstName = "[first name]"
    createLead.lastName = "[last name]"
    createLead.company = "[company]"
    createLead.phone = "{ANI}"
    createLead.email = "[email address]"
    createLead.website = "[website URL]"
    createLead.description = "New Record - {CONTACTID}"
    createLead.status = "[status of lead]"
    						
    DYNAMIC createLeadPayload
    createLeadPayload.workflowInput = createLead
    ASSIGN createLeadJson = "{createLeadPayload.asjson()}"
    		

    それぞれの行を含めなければなりません。フィールドを空白のままにしたい場合は、null値("")を使用できます。例えば、 createLead.firstName = "" 。ただし、createLead.lastNamecreateLead.companycreateLead.statusにはnull値を割り当てることはできません。

  5. 属性の値を変更します。これらのいずれかは、ハードコードされているか、変数か、または両者の組み合わせです。インタラクションごとに値を更新したい場合は、変数を使用します。

    1. createLead.firstName属性の値をリードの名に変更します。例えば、 createLead.firstName = "Elinor"

    2. createLead.lastName属性の値をリードの姓に変更します。例えば、 createLead.lastName = "Dashwood"

    3. createLead.company属性の値をリードの組織に変更します。例えば、 createLead.company = "Classics, Inc."

    4. createLead.email属性の値をリードのEメールアドレスに変更します。例えば、 createLead.email = "elinor.dashwood@classics.com"

    5. createLead.website属性の値をリードのウェブサイトに変更します。例えば、 createLead.website = "classics.com"

    6. createLead.status属性の値をリードのステータスに変更します。例えば、 createLead.status = "New"

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

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

機会作成ワークフローを構成する

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

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

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

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

    
    DYNAMIC createOpportunity
    createOpportunity.name = "[opportunity name]"
    createOpportunity.description = "New Record - {CONTACTID}"
    createOpportunity.stageName = "[stage of opportunity]"
    createOpportunity.closeDate = "[YYYY-MM-DD]"
    						
    DYNAMIC createOpportunityPayload
    createOpportunityPayload.workflowInput = createOpportunity
    ASSIGN createOpportunityJson = "{createOpportunityPayload.asjson()}"
    		

    それぞれの行を含めなければなりません。フィールドを空白のままにしたい場合は、null値("")を使用できます。例えば、 createOpportunity.description = "" 。ただし、createOpportunity.namecreateOpportunity.stageNamecreateOpportunity.closeDateにはnull値を割り当てることはできません。

  5. 属性の値を変更します。これらのいずれかは、ハードコードされているか、変数か、または両者の組み合わせです。インタラクションごとに値を更新したい場合は、変数を使用します。

    1. createOpportunity.name属性の値を機会名に変更します。例:createOpportunity.name = "Classics, Inc.。 Elinor"

    2. createOpportunity.stageName属性の値を機会のステージに変更します。例えば、 createOpportunity.stageName = "New"

    3. createOpportunity.closeDate属性の値を機会が閉じた日付に変更します。例えば、 createOpportunity.closeDate = "2024-01-31"

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

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

作業指示作成ワークフローを構成する

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

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

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

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

    
    DYNAMIC createWorkOrder
    createWorkOrder.description = "New Record - {CONTACTID}"
    createWorkOrder.startDate = "[YYYY-MM-DD]"
    createWorkOrder.endDate = "[YYYY-MM-DD]"
    createWorkOrder.subject = "New Record"
    createWorkOrder.status = "[status]"
    createWorkOrder.priority = "[low, medium, high, or critical]"
    createWorkOrder.duration = "[number of minutes or hours]"
    
    DYNAMIC createWorkOrderPayload
    createWorkOrderPayload.workflowInput = createWorkOrder
    ASSIGN createWorkOrderJson = "{createWorkOrderPayload.asjson()}"
    		

    それぞれの行を含めなければなりません。フィールドを空白のままにしたい場合は、null値("")を使用できます。例えば、 createWorkOrder.description = ""

  5. 属性の値を変更します。これらのいずれかは、ハードコードされているか、変数か、または両者の組み合わせです。インタラクションごとに値を更新したい場合は、変数を使用します。

    1. createWorkOrder.startDate 属性の値を作業指示の開始日に変更します。例えば、 createWorkOrder.startDate = "2024-01-30"

    2. createWorkOrder.endDate属性の値を、作業指示の終了日に変更します。例えば、 createWorkOrder.endDate = "2024-01-31"

    3. createWorkOrder.status属性の値を作業指示のステータスに変更します。例えば、 createWorkOrder.status = "New"

    4. createWorkOrder.priority属性の値をlowmediumhighまたはcriticalに変更します。例えば、 createWorkOrder.priority = "low"

    5. createWorkOrder.duration属性の値を、作業指示の完了に要した分数または時間数に変更します。例えば、 createWorkOrder.duration = "02"

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

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

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

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

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

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

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