これは「関連記事表示 by Vector Search 2.0」のデモサイトです。記事コンテンツはソリューションブログから引用しています。
Craft Functionsを使って取得したKARTEの接客サービスの効果計測指標をCraft AI Modulesで分析し、その分析レポートをSlackに通知する方法

Craft Functionsを使って取得したKARTEの接客サービスの効果計測指標をCraft AI Modulesで分析し、その分析レポートをSlackに通知する方法

こんにちは、Customer Engineerの神谷です!最近は早起きして、出社前に途中下車して紅葉巡りをするのにハマっています。東京都内もだいぶ紅葉の色付きが進み、見頃の場所が多くて楽しいです。都心のすぐ側とは思えない静かで豊かな自然のある場所や、紅葉と近代的な高層ビルとのコントラストが楽しめる東京ならではの場所もたくさんあります。

さて今回は、KARTEの接客サービスとAIに関するお話です。特にKARTEを積極的に活用して接客サービスをたくさん作成・運用している方の場合、それらの成果がパッとわかりにくかったりしませんか?大量にある接客サービスの効果計測指標を1つ1つ見ていくのはなかなか大変ですし、それらの比較も手作業ではなかなかしづらく、結果をまとめたレポートを作るのも手動では正直しんどいでしょう。

そんな場合に、大量にある接客サービスの効果計測指標を自動で取得し、更にその結果を踏まえてAIによるレポート化まで自動でやってくれるものがあったら便利だと思いませんか?過去の接客サービスの効果計測指標をレポートするだけではなく、その結果を踏まえて今後の提案などもしてくれたら更に便利でしょう。

そこで今回は、Craft Functionsを使って取得したKARTEの接客サービスの効果計測指標をCraft AI Modulesで分析し、その分析レポートをSlackに通知する方法について紹介します。

このソリューションを活用することで、既にKARTEで運用されている接客サービスの効果計測指標を自動で抽出し、それをAIに解析させてレポーティングできます。更にその内容をSlackに通知することで、KARTEのアカウントを持たないチームのメンバーなどにも簡単に情報共有が可能です。それにより、レポートの中身を踏まえたうえで次はどうするのかなど、チーム内での建設的な議論に繋げやすくなるでしょう。

KARTEの接客サービスの効果計測指標取得については、以下の記事も参考にご覧ください。

参考:KARTEの接客サービスの効果計測指標をCraft Functionsでスプレッドシートに定期連携する

アウトプットイメージ

最終的なアウトプットイメージは次の通りです。集計期間を通知文面に含めることで、いつからいつまでの話なのかも簡単に把握できます。実運用の場合は、週次や月次で実行してSlackに通知することが現実的で便利ではないでしょうか。手順のところでも説明しますが、通知文面の内容はアレンジできます。

構成図は次の通りです。

構成自体はシンプルですが、念の為に流れを補足しておきます。

  • まず最初にCraft Functionsを起動してKARTEの接客サービスの効果計測指標を取得します
  • 取得した接客サービスの効果指標を、AIが解析しやすい形に整形した後にCraft AI Modulesに渡して分析してもらいます
  • 最後に返ってきた分析結果をレポート形式にまとめ、Slackに通知します

注意点

前提として、次の点に注意をしてください。

  • KARTEの接客サービス機能は利用中の前提で話を進めます
  • Craft Functions、Craft AI Modules、KARTE API v2を利用できるKARTEプロジェクトが必要です
    • これらのご利用には、別途お申し込みが必要となります
  • Slackについても既に利用中の前提で話を進めます

設定手順

設定の手順は次の通りです。

  1. Slack Appを作成し、対象Slackチャンネルに追加する
  2. API v2 アプリを作成する
  3. Slack App の OAuth Token及びAPI v2 アプリの アクセストークンを Craft Secret Manager に登録する
  4. Craft Functionsのファンクションを作成する
  5. ファンクションのスケジュール設定をする

順番に見てみましょう。

1. Slack Appを作成し、対象Slackチャンネルに追加する

SlackのAPIを利用するためのSlack Appを作成してチャンネルへ追加します。

  • SlackのApplications画面 から[Create New App]をクリックします

  • Create an appの画面で [From scratch] を選択します

  • Slack App名を入力し、Slackの対象ワークスペースをします選択

  • 作成したアプリを選択し、[OAuth & Permissions]をクリックします

  • [Scopes > Bot Token Scopes] から次のscopeを追加し保存してください

    • chat:write
  • [OAuth & Permissions > Install to Workspace] をクリックします

  • 認証画面で [許可する] をクリックします

  • 生成された [Bot User OAuth Token] をメモしておきましょう

  • Slackの画面から、通知したいSlackチャンネルを開きます

  • [インテグレーション > アプリを追加する] から、作成したSlack Appをチャンネルに追加してください

2. API v2 アプリを作成する

KARTEのAPIを利用するために、API v2アプリを作成します。

  • [ストア > API v2設定] からアプリを新規作成します

  • [アプリタイプ] を token に設定します

  • 必要なscopeを追加してください

    • beta.action.campaign.getSettingsAndStats
  • アプリを保存し、一度だけ表示されるアクセストークンをメモしておきましょう

3. Slack App の OAuth Token及びAPI v2 アプリの アクセストークンを Craft Secret Manager に登録する

Slack App の OAuth Token及びAPI v2 アプリのアクセストークンをCraft Functionsから安全に利用するために、Craft Secret Manager に登録します。

  • [Craft > シークレット] からシークレットを新規作成します

  • [名前] に、わかりやすい名前を入力します

  • メモしておいたSlack App の OAuth Tokenを [シークレットの値] に入力し、作成してください

  • API v2 アプリのアクセストークンも同様に登録してください

  • 2つのシークレット名は、Craft Functions作成時に必要なのでメモしておきましょう

4. Craft Functionsのファンクションを作成する

Craft Functionsのファンクションを作成します。作成手順は次の通りです。

  • [Craft > ファンクション > 新規作成 > テンプレートから作成] を選択します

  • Craft Functionsを使って取得したKARTEの接客サービスの効果計測指標をCraft AI Modulesで分析し、その分析レポートをSlackに通知する 」というテンプレートを検索し[取得]ボタンをクリックします

  • [反映] ボタンをクリックします

  • [設定 > ファンクションのタイプ] で「イベント駆動タイプ」を選択します

  • [変数] タブで次の変数の値を設定してください

    • LOG_LEVEL
      • 出力するログのレベルを、ERROR/WARN/INFO/DEBUGから指定します
    • KARTE_APP_TOKEN_SECRET
      • API v2アプリのトークンを登録したシークレット名を指定します
    • SLACK_TOKEN_SECRET
      • SlackアプリのOAuth トークンを登録したシークレット名を指定します
    • SLACK_CHANNEL_ID
      • 通知先のSlackチャンネルのチャンネルIDを指定します
      • チャンネルIDは各チャンネルの名称をクリック時に出てくる画面の下部で確認できます
    • AGGREGATION_RANGE
      • Fetch settings and stats for all services APIの range の設定値を指定します
      • 設定できる値について詳細はAPIのドキュメントをご覧ください
    • RELATIVE_START_DATE_DAYS_AGO
      • Fetch settings and stats for all services API の start_date と end_date の設定値を「現在のN日前から1日前まで」という相対日時で指定します
    • ABSOLUTE_START_DATE
      • Fetch settings and stats for all services APIの start_date を YYYY-MM-DD の形式で直接指定します
    • ABSOLUTE_END_DATE
      • Fetch settings and stats for all services APIの end_date を YYYY-MM-DD の形式で直接指定します
    • その他の変数は、ひとまずデフォルト値のままで問題ありません
  • 適当なファンクション名をつけて [デプロイ] します

なお、テンプレートのソースコードはGitHubで公開しています。

craft-codes/craft-functions/campaign-stats-ai-modules-slack at main · plaidev/craft-codes

なお、最終的にSlackに通知される文面の内容は、ソースコード内のmakeAiPrompt関数のreturn部分を調整することで変更できます。もしレポートの形式や内容をこのようにしたいといった場合は、その部分をカスタマイズして利用してください。場合によっては、makeAiPrompt関数の変更に合わせてsendSlackMessage関数の修正も必要になります。

5. ファンクションのスケジュール設定をする

作成したファンクションを定期実行するために、 Craft Functionsのスケジューラ設定をします。

  • [Craft > ファンクション] から作成したファンクションを選択します
  • [設定 > スケジュール > 作成] をクリックし、cron式でスケジュールを設定して保存してください

たとえば毎日5時に実行する場合は、 0 5 * * * といった指定になります。

既に述べましたが、実運用の場合は週次や月次での運用がやりやすいでしょう。例えば毎月1日や、毎週月曜日に実行されるようにしておくのがいいと思います。

実際に動かしてみる

実際に動作を確認してみましょう。

まずCraft Functionsをスケジュール実行してみてください。テスト的にやるのであれば、スケジュール実行間隔を短くするか、現在日時の少し後を指定するのがいいでしょう。

問題なく設定できていれば、接客サービスの効果計測指標を取得したCraft AI Modulesで分析が行われた後、Slackに次のような通知が来るはずです。

すぐにはSlack通知が来ない場合、接客サービスの効果計測指標取得が完了しておらず一旦エラーとなって後ほどリトライされるはずなので、Craft Functionsのログを見てみてください。

おわりに

今回はCraft Functionsを使って取得したKARTEの接客サービスの効果計測指標をCraft AI Modulesで分析し、その分析レポートをSlackに通知する方法について紹介しました。

本ソリューションを活用すれば、たくさんある接客サービスの成果を簡単にまとめてSlack通知までしてくれるので、成果の共有から今後の施策立案まで繋げやすくとても便利ですよね。ぜひ皆さんも試してみてください!