メインコンテンツへスキップ
Amazon Connect は、大規模なカスタマーサービスの提供を可能にするオムニチャネルのクラウドコンタクトセンターサービスです。MoEngage と Amazon Connect の統合により、コンタクトセンターの顧客とのやり取りデータを MoEngage に直接シームレスに同期でき、すべてのチャネルでリアルタイムのパーソナライゼーションとエンゲージメントが可能になります。 この統合では、 AWS Lambda を使用してコンタクトフロー中に顧客データを取得し、 Data API を使用して MoEngage のユーザープロファイルを自動的に作成または更新します。

Amazon Connect × MoEngage

MoEngage と Amazon Connect の統合により、企業はシームレスなデータ同期を通じて顧客エンゲージメントのプロセスを自動化できます。 この統合により、次のことが可能になります。
  • 新しい顧客がサポートセンターに問い合わせた際に、MoEngage のユーザープロファイルを自動的に作成します。
  • 行動ベースのセグメンテーションのために、カスタマーサービスでのやり取りをイベントとしてトラッキングします。
  • コンタクトセンターでの結果に基づいて、パーソナライズされたキャンペーンをトリガーします。
  • コンタクトセンターのデータとマーケティングデータを統合し、包括的な顧客インサイトを得ます。

ユースケース

Amazon Connect と MoEngage を統合すると、次の主なユースケースに対応できます。
  • リアルタイムのユーザープロファイル作成 : 見込み顧客が初めてサポート窓口に電話をかけると、その電話番号と通話中に収集された情報(名前、メールアドレス、問い合わせの種類など)が自動的に MoEngage に送信され、新しいユーザープロファイルが作成されます。これにより、ナーチャリングキャンペーンへの即時登録が可能になります。
  • イベントトラッキングとセグメンテーション : カスタマーサービスでのすべてのやり取りは、キュー名、エージェント ID、通話時間、解決ステータスなどの詳細とともに、MoEngage にイベントとして記録されます。これにより、サポート履歴に基づくセグメンテーション(例:「過去 30 日間に請求についてサポートに問い合わせたユーザー」)が可能になります。
  • VIP 顧客のプロファイル拡充 : 通話中に特定された高価値の顧客に特別な属性(例: customer_segment: “VIP”)をタグ付けすることで、プレミアムなエンゲージメントキャンペーンや優先サポートワークフローに自動的に登録できます。

前提条件

統合を設定するには、次のものを用意してください。
  • 管理者アクセス権を持つ、有効な Amazon Connect インスタンス。
  • 関数を作成する権限を持つ AWS Lambda へのアクセス。
  • MoEngage API 認証情報。
MoEngage API 認証情報を確認するには、次の手順を実行します。
  1. MoEngage UI で、Settings > Account > APIs に移動します。
  2. Workspace ID(以前の app id)の下にある ID をコピーします。
  3. API keys の下にある Data をコピーします。
  4. データセンター ID は MoEngage への登録時に割り当てられます。データセンター ID はダッシュボードの URL から確認できます。たとえば、ダッシュボードの URL が https://dashboard-04.moengage.com/v4/#/auth の場合、データセンターはデータセンター 04 で、データセンター ID は DC-04 です。詳細については、MoEngage のデータセンターを参照してください。

ステップ 1: AWS Lambda の設定

まず、Amazon Connect からデータを受け取り、顧客固有の MoEngage App ID と API Key を使用して MoEngage API(Customer API や Event API など)に送信する Lambda 関数を作成します。

ステップ 1.1: Lambda 関数を作成する

Lambda 関数を作成するには、次の手順を実行します。
  1. AWS Lambda Console に移動し、Create function をクリックします。
  2. Author from scratch を選択します。
  3. 関数を設定します。
    1. Function name : わかりやすい名前を入力します(例: MoEngage-Connect-Handler)。
    2. Runtime : 目的のランタイムを選択します。ここでは例として Python 3.11 を使用します。
      詳細については、Lambda デベロッパーガイドを参照してください。
  4. Create function をクリックします。

ステップ 1.2: コードと依存関係を追加する

コードと依存関係を追加するには、次の手順を実行します。
  1. コードを追加する : Code タブに移動し、関数のコードを貼り付けます。このコードは、Connect からの受信イベントを読み取り、API 用の JSON ペイロードを構築して送信する必要があります。当社のテストに基づく本番環境対応の例については、moengage_lambda_handler.py ファイルを参照してください。
  2. 依存関係(レイヤー)を追加する : コードで Lambda に含まれていないライブラリ(Python の requests など)が必要な場合は、それらを追加します。
    1. Lambda function ページの Layers セクションまでスクロールし、Add a layer をクリックします。
    2. AWS layers を選択し、事前構築済みのレイヤーを選択します(例: AWSSDKPandas-Python311 には requests ライブラリが含まれています)。
  3. デプロイする : Deploy をクリックして、コードとレイヤーの変更を保存します。

ステップ 1.3: Lambda の権限を設定して ARN をコピーする

Lambda の権限を設定して ARN をコピーするには、次の手順を実行します。
  1. 権限を付与する : 関数には、Amazon Connect からの呼び出しを許可するリソースベースのポリシーが必要です。
    1. Configuration >Permissions タブに移動します。
    2. Resource-based policy までスクロールし、Add permissions をクリックします。
    3. AWS service を選択します。Service リストに Amazon Connect がない場合は、Other を選択します。
    4. 次のフィールドに入力します。
      1. Statement ID : Connect-Allow-Invoke(この権限ルールの一意の識別子です。この名前は、Connect による Lambda 関数の呼び出しを許可するというステートメントの目的を明確に表しています)
      2. Principal : connect.amazonaws.com(AWS における Amazon Connect サービスのサービスプリンシパル(公式の ID)です。Principal にこの値を設定することで、Amazon Connect サービスに Lambda 関数を操作する権限を明示的に付与します)。
      3. Source ARN : Amazon Connect インスタンスの ARN(例: arn:aws:connect:us-east-1:ACCOUNT_ID:instance/INSTANCE_ID)。
      4. Action : lambda:InvokeFunction
    5. Save をクリックします。
  2. ARN をコピーする : ページ上部から Lambda 関数の ARN をコピーします。これは次のステップで必要になります。
Lambda 関数コードの例
  • Data API を使用して顧客を作成する、提供のサンプルコードから始めることができます。このコードを特定の要件に合わせて変更するか、独自のコードを一から作成してください。Code タブで、既存のデフォルトコードをサンプルで上書きします。

ステップ 2: Amazon Connect の設定

Amazon Connect を設定するには、次の手順を実行します。

ステップ 2.1: コンタクトフローを作成または変更する

コンタクトフローを作成または変更するには、次の手順を実行します。
  1. Amazon Connect インスタンスにログインします。
  2. Routing > Flows に移動します。
  3. Create contact flow をクリックするか、既存のフローを編集します。
  4. フローに次のブロックを追加します。
    1. Set contact attributes ブロック : このブロックは、MoEngage に送信する顧客データを取得します。
    2. Set contact attributes ブロックをフローにドラッグします。
    3. 属性を設定します。
  5. Invoke AWS Lambda Function ブロック:
    1. Invoke AWS Lambda function ブロックをドラッグします。
    2. ドロップダウンメニューから Lambda 関数を選択するか、AWS Lambda セクションから関数の ARN をコピーして貼り付けます。
    3. Function input parameters は空のままにします(関数はすべてのコンタクトデータを自動的に受け取ります)。
  6. フローを接続します。
  7. ブロックを接続します(Entry Point > Set contact attributes > Invoke AWS Lambda function(以降は既存のフローに続けます))。

ステップ 2.2: コンタクトフローを公開して割り当てる

コンタクトフローを公開して割り当てるには、次の手順を実行します。
  1. Save をクリックして変更を保存します。
  2. Publish をクリックしてフローを有効化します。
  3. フローを電話番号またはキューに割り当てます。

ステップ 3: テストと検証

ステップ 3.1: Lambda の実行を確認する

Lambda の実行を確認するには、次の手順を実行します。
  1. AWS Console で Lambda 関数に移動します。
  2. Monitor >View CloudWatch logs に移動します。
  3. 最新のログストリームを開き、正常に実行されたことを確認します。
    1. ユーザーペイロードに想定どおりのデータが含まれていることを確認します。
    2. エラーメッセージがないことを確認します。

ステップ 3.1: MoEngage でデータを確認する

MoEngage でデータを確認するには、次の手順を実行します。

  1. MoEngage UI の左側のナビゲーションメニューで、Segment >User Search をクリックします。
  2. 顧客 ID または電話番号を使用して、テスト顧客を検索します。
  3. ユーザープロファイルにコンタクトセンターの属性が含まれていることを確認します。