提供: Bright Pattern Documentation
移動先: 案内検索
• English

コールと関連する Microsoft Dynamics のレコードを関連付ける

コンタクトセンターでCRM連携経由で対応を行っている場合、CRM変数を使用したワークフローにより、対応後の処理を自動化することが可能です。例えば、電話対応中に、エージェントは関連するケース、タスク、または連絡先を表示することができます。 エージェントが電話の情報を手動で入力したり、通話記録をその他関連レコードにリンクさせたりする必要はなく、ワークフローを起動する前に、コミュニケーションウィジェットで関連するレコードにチェックを入れるだけで済みます。これにより、ワークフローが実行され、エージェントが選択済みのすべての関連レコードへのリンクを含む、情報が完全に記入された通話記録がCRMに作成されます。

前提条件

まだ設定がお済みでない場合は、 Microsoft Dynamics 統合 の設定を済ませておいてください。

重要:エージェントがインタラクション中に関連レコードを表示・選択できるようにするには、統合で Communicatorウィジェットを使用する必要があります。従来の ユニバーサル・リピーターではなく、Communicator Widgetを使用する必要があります。を使用してはなりません。そのため、 CIFアプリ のチャンネルURLは、以下の形式である必要があります。 https://<TENANTDOMAIN>/agent/communicator/adapters/msdyn365.html?crmDomain=org<ID>.crm.dynamics.com です。例: https://example.brightpattern.com/agent/communicator/adapters/msdyn365.html?crmDomain=org12345678.crm.dynamics.com

ステップ 1. インバウンド音声サービスの設定

インバウンド音声サービスの設定例、テンプレートからのシナリオ、およびシナリオエントリーについては、以下を参照してください。 インバウンド音声サービスの設定を参照してください。

  1. Contact Center 管理者にログインし、「サービスとキャンペーン」に移動してください。

  2. CRMレコードを保存したいサービス(例:サポートホットライン)を設定します。
    重要:「プロパティ」タブで「dispositionを使用」を有効にすると、エージェントがACW中にワークフローをトリガーできるようになります。
    The Properties tab of a service named "Support hotline," with the Use dispositions checkbox selected

  3. 「シナリオ」>「音声」に移動し、発信元と関連付けられた連絡先を識別するシナリオを作成または再利用します。詳細は 「シナリオの概要」 の「シナリオの概要」を参照してください。

  4. [シナリオエントリ] > [ダイヤルイン] に移動し、シナリオとサービスを関連付けるシナリオエントリーを作成してください。詳細については、 「ダイヤルイン」をご参照ください。
    Screenshot of a scenario entry connecting the Find and screenpop contact scenario to the Support hotline service.

シナリオの概要

Screenshot of a voice scenario that uses Microsoft Dynamics scenario blocks to identify and display the caller to the agent

以下のテンプレートは、連絡先識別シナリオの例となります。クリックしてダウンロードしてください。 「連絡先の検索とスクリーンポップ」 シナリオテンプレートをダウンロードし、コンタクトセンターにインポートしてください。なお、このシナリオで定義されている $(D365.contactid) 変数は、 「ステップ 2. 電話およびレコードを処理するワークフローの作成」 で使用されます。

シナリオのロジックは以下の通りです:

  1. コールを受け付けます

  2. 数秒間待機します

  3. コールを応答します

  4. Microsoft Dynamics アカウントの選択:目的の Microsoft Dynamics 統合を選択します。
  5. 変数の設定isNewCallerfalse に設定します。

  6. Microsoft Dynamics オブジェクトの検索:Microsoft Dynamics の「連絡先」テーブルで発信元の電話番号を検索し、発信元の連絡先 id を特定しようと試行します。
    Microsoft Dynamics Search Object scenario block that searches the Contact table for the caller's phone number

    1. オブジェクトの種類」ドロップダウンメニューから「連絡先」を選択し、「連絡先」テーブルを検索してください。

    2. 「クエリ」フィールドに、以下を入力してください:$select=contactid&$filter=contains(telephone1,'$(item.from)')

    3. 「レコードセット名」フィールドに、クエリの結果を格納する変数名(例:D365)を入力してください。連絡先 ID は $(D365.contactid) に格納されます。

  7. その電話番号を持つ連絡先が存在しない場合:

    1. 変数の設定isNewCallertrue に設定します。

    2. Microsoft Dynamics オブジェクトの作成:この電話番号を持つ新規の連絡先を作成します。
      A Microsoft Dynamics Create Object scenario block that creates a new contact with the current caller's phone number. The variable name for the object ID is D365.contactid

      1. オブジェクトの種類」ドロップダウンメニューから「連絡先」を選択してください。

      2. オブジェクト ID の変数名」フィールドに「D365.contactid」と入力します。これにより、新規の連絡先か既存の連絡先かに関わらず、連絡先 ID が同じ変数に保存されるようになります。

      3. 現在の発信元の電話番号を、その連絡先のメイン電話番号として設定します。
        注: シナリオの後半で、エージェントに新規連絡先の名前を入力するよう求められます。
        {
        "telephone1": "$(item.from)"
        }
        

  8. Microsoft Dynamics スクリーンポップ:先ほど検索または作成された連絡先をエージェントに表示します。いずれの場合も、連絡先 ID は変数 $(D365.contactid) に格納され、これは「オブジェクト識別子」フィールドによって参照されます。
    A Microsoft Dynamics Sceen Pop scenario block that displays the contact with the ID stored at $(D365.contactid) to the agent
  9. エージェントの検索

  10. 条件: isNewCaller true に設定されているかどうかを確認します。
    An If scenario block with one conditional branch checking whether isNewCaller is true

    1. 内線メッセージisNewCallerがtrueの場合、コール中にエージェントに対し、新規連絡先の名前を入力するよう促します。
      An Internal Message scenario block that prompts the agent to enter the new contact's first and last name

  11. コールを接続

  12. 終了

ステップ 2. 電話通話とレコードを処理するワークフローを作成する

次に、Microsoft Dynamics インスタンス内に新規の「電話通話」オブジェクトを作成してデータを設定し、その「電話通話」を、エージェントがインタラクションに関連があるとマークしたレコードにリンクさせるワークフローを設定する必要があります。サポートホットラインのインタラクションは CRM 統合経由で処理されるため、このワークフローでは次のような CRM 変数を使用できます。 $(associatedRecords)などのCRM変数を使用できます。クリックしてダウンロードします。 「レコードをコールに関連付ける」 のサンプルシナリオをクリックしてダウンロードし、コンタクトセンターにインポートするか、以下のステップに従って一から作成してください。

  1. 「ワークフロー」に移動し、左下の「ワークフローを追加」をクリックして、ワークフロービルダーを開きます。

  2. ワークフロービルダーの左上で、新規のワークフローに名前を付けます。

  3. ご希望の統合アカウントを選択してください。

    1. 左側のサイドバーから「Microsoft Dynamics アカウントの選択」ブロックをページの中央へドラッグして、ワークフローに追加してください。
      A MSDyn Select Account workflow block

    2. 右端のパネルのドロップダウンから、対象の CRM 連携アカウントを選択してください。

  4. 現在のエージェントの Microsoft Dynamics ユーザー id を確認してください。

    1. ワークフローに「Microsoft Dynamics Search Object」ブロックを追加してください。
      A MSDyn Search Object workflow block titled "Get agent ID"


    2. [オブジェクトタイプ] フィールドに「systemusers」と入力し、[ユーザー (SystemUser)] テーブルを検索してください。
      注: 「systemusers」は、Microsoft Dynamics における [ユーザー (SystemUser)] テーブルの EntitySetName です。詳細については、こちらをご覧くださいユーザー (SystemUser) テーブル/エンティティ参照 (Microsoft Dataverse)
      A Microsoft Dynamics Search Object workflow block that queries the systemusers table for the current agent's first and last name

    3. [クエリ] フィールドを使用して、ユーザー (SystemUser) テーブルから現在のエージェントのユーザー id を検索します。その名前(ファーストネームと姓)は、 $(ユーザー.firstName) および $(user.lastName)に格納されているため、User (SystemUser) テーブルを検索して、現在のエージェントのユーザー ID を特定します。
    4. にそれぞれ格納されています。 $select=systemuserid&$filter=contains(lastname,'$(user.lastName)')&$filter=contains(firstname,'$(user.firstName)')

    5. 「レコードセット名」フィールドに、「agent」などのわかりやすい変数名を入力してください。エージェントのユーザー ID は $(agent.systemuserid) に格納されます。

  5. Microsoft Dynamics からアクセスできるように、コール時刻、日付、および duration をフォーマットする変数を設定します。詳細については、Bright Pattern のドキュメント「 ワークフロー変数 および 組み込み関数に関するBright Patternのドキュメントをご参照ください。

    1. 変数名前 time_start、値 =formatdatetime(applytimezone((now()-$(duration)),"America/Los_Angeles"), "h:mm a") を持つ「変数の設定」ブロックを追加します。 これにより、コールセンターのタイムゾーンにおけるコールの開始時刻が保存され、使用される。 「電話通話」 オブジェクトの「Subject」フィールドで使用されます。
      注:$(duration) はコール時間を秒単位で取得します。now()applytimezone()、および formatdatetime() は、時刻情報を取得および設定するための組み込み関数です。 ご自身のワークフローでは、「America/Los_Angeles」を「Area/Location」の形式で関連するタイムゾーンに置き換えてください。
      Set Variable workflow block that uses built-in Bright Pattern functions to get the start time of the call

    2. 変数名前「time_end」、値「=formatdatetime(applytimezone(now(),"America/Los_Angeles"), "yyyy-MM-dd'T'HH:mm'Z'")」の「変数の設定」ブロックを追加してください。 これにより、Phone Call オブジェクトの ActualEnd フィールドで必須とされる通り、コール終了日時が ISO 8601 フォーマットで保存されます。
      注:「America/Los_Angeles」を、「Area/Location」のフォーマットで適切なタイムゾーンに置き換えてください。
      Set Variable workflow block that uses built-in Bright Pattern functions to get the end time and date of the call


    3. 変数名「duration_min」、値「=($(duration)/60)」の「変数の設定」ブロックを追加します。これにより、Phone Call オブジェクトの ActualDurationMinutes フィールドで必須とされる通り、通話時間が分単位で計算されます。
      Set Variable workflow block that calculates the call duration in minutes

  6. このホットラインコール用に、新規の「Phone Call」CRMオブジェクトを作成してください。

    1. Microsoft Dynamics オブジェクトの作成」ブロックを追加してください。
      A Microsoft Dynamics Create Object workflow block


    2. [オブジェクトの種類] フィールドに「phonecalls」と入力し、新規の Phone Call オブジェクトを作成します。
      注: 「phonecalls」は、Microsoft Dynamics における Phone Call (PhoneCall) テーブルの EntitySetName です。詳細については、こちらをご覧くださいPhone Call (PhoneCall) テーブル/エンティティのリファレンス (Microsoft Dataverse)
      A Microsoft Dynamics Create Object workflow block that creates a new record in the Phone Call table and populates it with call information

    3. オブジェクト id の変数名」フィールドに、わかりやすい名前を入力してください。この例では、「call_new」を使用します。

    4. 「JSON」フィールドに、電話通話レコードの関連データを入力し、以下のフォーマットで顧客の連絡先 id およびエージェントのユーザー id にバインドしてください。
      注: このフィールドでは'、上記で定義したシナリオの $(D365.contactid) 変数が使用されます'participationtypemask: 1 は発信元を、2 は宛先'を示します'directioncode: false はインバウンドを、true はアウトバンドを意味します。
      {
      "phonenumber": "$(item.from)",
      "件名": "$(time_start) に新規のホットラインコールが発生しました",
      "説明": "$(disposition)\n$(メモ)",
      "directioncode": false,
      "actualdurationminutes": "$(duration_min)",
      "actualend": "$(time_end)",
      "phonecall_activity_parties": [
      {
         "participationtypemask": 2,
      "partyid_systemuser@odata.bind": "/systemusers($(agent.systemuserid))"
      },
      {
        "participationtypemask": 1,
      "partyid_contact@odata.bind": "/contacts($(D365.contactid))"
      }
      ]
      }
      

  7. 電話通話を完了としてマークします。

    1. Microsoft Dynamics Update Object ブロックを追加します。
      A Microsoft Dynamics Update Object workflow block titled "Set call status to complete"

    2. オブジェクトの種類」フィールドに「phonecalls」と入力してください。
      A Microsoft Dynamics Update Object workflow block that updates the state and status of the $(call_new) object
    3. オブジェクト識別子」フィールドに「$(call_new)」と入力し、上記ステップ 6 で作成されたオブジェクトを指定します。

    4. 「JSON」フィールドで、更新します。

    5. オブジェクト識別子」フィールドに「$(call_new)」と入力し、上記ステップ 6 で作成されたオブジェクトを指定します。 状態 および ステータスコードをstateおよび を次のように更新してください:
      {
      "statecode": 1,
      "statuscode": 2
      }
      

  8. エージェントは、コールに関連付けるレコードを複数選択できるため、配列内のレコード数をチェックし、それぞれを「Phone Call」オブジェクトに紐付けるループを設定する必要があります。 複数のレコードが選択済の場合、ワークフローは配列内の各レコードに対してループを1回ずつ実行します。レコードが1つだけ選択済の場合、ワークフローはループを1回実行した後、停止します。レコードが選択されていない場合、ワークフローはループを完全にスキップします。

    1. 変数名「i」、値「0」の「変数の設定」ブロックを追加します。これにより、インデックス0の最初のレコードから順に配列を順次処理するためのインデックス変数が作成されます。
      A Set Variable workflow block setting i to 0


    2. $(i) の現在のインデックスが、$(associatedRecords) JSON 配列の長さよりも小さいかどうかを確認する「If」ブロックを追加します。
      An If workflow block with a conditional branch titled "Array traversal" that creates an MS Dynamics Connection object, increments the index variable by 1, and loops back to the beginning of the If block

      1. 分岐を追加」ボタンをクリックしてください。

      2. 終了ラベル」フィールド経由で分岐に名前を付けてください。この例では、「配列の走査」という名前を使用します。

      3. 「条件を追加」をクリックします。

      4. ワークフロー変数(数値)i が < $(numberOfAssociatedRecords) である」と表示されるようにフィールドを設定します。その後、緑色のチェックマークをクリックします。
        If block condition checking that the current index variable i is less than the length of the associatedRecords array

    3. 配列の走査」ブランチ内に、Microsoft Dynamics 「オブジェクトの作成」ブロックを追加します。現時点では、内容を空のままにしておきます。

    4. 「オブジェクトの作成」ブロックの下に、変数名前「i」、値「=$(i)+1」の「変数の設定」ブロックをもう 1 つ追加してください。これにより、インデックス変数が 1 ずつ増加します。

    5. 「変数の設定」ブロックの下に、「Goto」ブロックを追加してください。 右端のパネルで、「If」ブロックを選択し、ループの先頭に戻るように設定します。

  9. 手順 8c で追加した Microsoft Dynamics の「オブジェクト作成」ブロックに戻り、「電話通話」と配列内の現在のレコードとの間に「接続」を作成します。
    A MS Dynamics Create Object workflow block creating an active Connection between the Phone Call object and the current associated record

    1. [オブジェクトの種類] フィールドに「接続」と入力し、新規の接続レコードを作成します。

    2. [オブジェクト ID の変数名] フィールドに、わかりやすい名前を入力します。この例では、「conn_new」を使用します。

    3. 「JSON」フィールドで、「record1」を「電話通話」に、「record2」を現在関連付けられているレコードにバインドし、接続ステータスを「アクティブ」に設定してください。
      注: 接続のプロパティに関する詳細については、以下を参照してください接続テーブル/エンティティ参照 (Microsoft Dataverse)
      {
      "record1id_phonecall@odata.bind": "/phonecalls($(call_new))",
      "record2id_$(associatedRecords.$(i).objectType)@odata.bind":  "/$(associatedRecords.$(i).objectType)s($(associatedRecords.$(i).objectId))",
      "statecode": 0,
      "statuscode": 1
      }
      

  10. ワークフローを終了するには、If ブロックの下、かつ配列トラバーサル分岐の外側に Exit ブロックを追加してください。
    An Exit block at the end of a workflow

  11. ページ下部の「保存」ボタンをクリックしてください。

ステップ 3. ワークフローエントリを作成する

あとは、ワークフローをサポートホットラインサービスに経由で接続するだけ ワークフローエントリを介してワークフローをサポートホットラインサービスに接続し、1つ以上のトリガーを設定するだけです。

  1. 新規ワークフローの [ワークフローエントリ] タブをクリックしてください。

  2. ワークフローエントリにわかりやすい名前を付けます。

  3. ドロップダウンメニューから、先ほど作成したサービスを選択してください。
    Several fields in a workflow entry associated with the Support hotline service

  4. 1つ以上のワークフロートリガーを設定してください。詳細については、 「トリガー」 の「ワークフロービルダーの概要」を参照してください。
    Screenshot of the two drop-down menus that appear when adding a trigger to a workflow entry

    • [エージェントが disposition を指定してインタラクションを完了] を選択すると、通話に参加した各エージェントに対してワークフローが実行され、エージェントセグメントごとに通話レコードが作成されます。

    • 「最後の disposition 結果でインタラクションが終了したとき」を選択すると、インタラクションが完了した時点でこのワークフローが実行され、インタラクション全体に対して単一のコールオブジェクトが作成されます。

    • 2番目のドロップダウンメニューから希望のディスポジションを選択するか、「任意のディスポジション」を選択すると、サポートホットラインサービスへのコール後、いつでもワークフローが実行されます。

  5. [適用] をクリックしてください。

ステップ 4. ワークフローのトリガー

  1. サポートホットラインサービスに割り当てられたエージェントが「受付可能」状態になります。

  2. エージェントが着信を受け付けます。インタラクション中、エージェントは連絡先、ケース、タスク、アカウントなどの関連レコードを表示できます。これらのレコードは、ウィジェットの [レコード] タブに表示されます。
    Screenshot of the Communicator Widget Records tab mid-call associated with the Support hotline service

  3. 対応が終了した後、エージェントは以下の操作を行うことができます:

    1. ドロップダウンメニューからdispositionを選択します。

    2. そのコールに関連するすべてのレコードを選択します。
      Screenshot of the Communicator Widget Records tab after a Support hotline call, with several Task, Case, and Contact records selected

  4. [完了] を押して送信します。

  • 選択済みの disposition がワークフローエントリのトリガーと適合する場合、ワークフローが開始され、選択した CRM レコードに関連付けられた「電話通話」レコードが自動的に作成されます。

  • Microsoft Dynamics での接続の表示

    このワークフローによって作成された関連付けは、「電話通話」レコードおよびエージェントが選択済みのレコードで表示できます。

    Screenshot of the Connections tab on a Contact page in Microsoft Dynamics

    1. Microsoft Dynamicsインスタンスで「電話通話」レコードを開いてください。
      注:この「電話通話」レコードは完了済みとしてマークされているため、「アクティビティ」ページでは、「すべてのアクティビティ」、「完了したアクティビティ」、「自分の完了したアクティビティ」、「すべての電話通話」、「自分の完了した電話通話」の各ビューでのみ表示されます。
      Screenshot of the My Closed Activities page in Microsoft Dynamics, showing a phone call titled "New hotline call at 2:01 PM"
    2. [関連] タブをクリックし、ドロップダウンメニューから [接続] を選択してください。
      Screenshot of the Related drop-down menu of a Microsoft Dynamics Phone Call record

    3. [接続] タブで、このレコードへのすべての接続を表示します。
      Screenshot of the Connections tab of a Microsoft Dynamics Phone Call record, showing four active connections

      < 前へ | 次へ >