2023年5月1日を持ちまして、株式会社KDDIウェブコミュニケーションズのTwilioリセール事業が終了したため、本記事に記載されている内容は正確ではないことを予めご了承ください。
はじめに
みなさん、こんにちは。
KDDIウェブコミュニケーションズ、Twilioエバンジェリストの高橋です。
Twilio Flex の Salesforce Integration を使うと、Salesforce の画面上に Twilio Flex の機能をプラグインのように表示できます。
この方法は、Salesforce 連携を行うためのもっとも簡単な手法になりますが、いくつか課題もあります。
その一つが、着信した際には誰からかかってきたのかがわからず、応答してから始めて該当データが表示される点です。
そこで今回は、応答する前に Flex プラグイン上に SFDC 上のユーザー情報を表示させる方法について解説をします。
完成すると、以下のように応答前にユーザー情報が表示されるようになります。
準備
このシナリオでは、Flex の着信時の Studio フロー内でSFDCに対して電話番号をキーにデータを検索するための Functions を作成します。該当取引先、及び取引先責任者が見つかった場合は、それらの名前を取得することで、TaskRouter に引き渡します。
そのため、今回の記事での作業は大きく2つとなります。
- SFDCを検索する Functions の作成
- 作成した Functions を呼び出す Studio フローの作成
では、一つずつやっていきましょう。
SFDCを検索するFunctionsの作成
Salesforce の RestAPI を呼び出す方法はいくつかありますが、サーバー間連携を行うためにはOAuth2.0 JWTベアラーフローを用いることが推奨されているようです。
ただ、この方法では証明書の作成など、かなり手数が必要になります。そこで、以下のGitHub上に一連の手順を行うためのコードと解説を作成しておきましたので、こちらの README をよく読んで Functions を作成してください。
作成したFunctionsを呼び出すStudioフローの作成
Functions ができてしまえば、あとはそれを Twilio Studio から呼び出して TaskRouter に渡していけばOKです。
フローはこんな感じになります。
ではそれぞれのウィジェットを説明していきます。
FindAccount
こちらは、Run Function
ウィジェットで実現します。
先程作成した Functions を呼び出すのですが、呼び出す際に以下のパラメータを指定します。
SendFlex
こちらは、Send To Flex
ウィジェットで実現します。
ポイントは、Attribute
の設定です。具体的には以下のように指定してください。
ます、name
パラメータとして、Functions の戻り値(body)を指定します。
ただ、このままですと応答した際に正しく取引先などが表示されません。これは、Salesforce Integration では、name
値を使って検索をしてしまうからです。
そこで、sfdcSearchString
パラメータに、電話番号(trigger.call.From
)を指定して渡すことで、こちらを使って検索されるようになります。
あとは、フローをデプロイしてテストをしてみてください。
応答前にユーザー名が表示され、応答すると該当ユーザーの情報が表示されるようになればOKです。
まとめ
今回は、Flexの Salesforce Integration を使ったときのTipsを書きました。
SFDCのRestAPIの呼び方がわかれば、裏側で色々と作業ができるはずなので、ぜひ参考にしてみてください。
Twilio(トゥイリオ)とは
https://cloudapi.kddi-web.com
Twilio は音声通話、メッセージング(SMS /チャット)、ビデオなどの 様々なコミュニケーション手段をアプリケーションやビジネスへ容易に組み込むことのできるクラウド API サービスです。初期費用不要な従量課金制で、各種開発言語に対応しているため、多くのハッカソンイベントやスタートアップなどにも、ご利用いただいております。
Twilioに関するご相談などがございましたら、ぜひ毎週水曜日の午後に開催しております相談会をご利用ください。
Twilio相談会(毎週水曜日)