Twilio Studioを利用し、コーディングなしでIVRフローを構築する

April 11, 2022
執筆者
レビュー担当者

No Coding IVR Studio Hero JP

この記事はSarah Johnsonこちらで公開した記事(英語)を日本語化したものです。

通話のルーティングに関して、様々なニーズがありえます。例えば、個人の電話番号をWebサイトに載せたくはないが、サイトに掲載する番号用と個人用の2台を所有するというのも気が進まないでしょうから、問い合わせの受け口としての番号(050等の番号)から個人の番号へルーティング(転送)が設定できるといいですよね。その際、コーディング(プログラミング)を伴わずに、グラフィカルなツールでルーティングが設計でき、迅速な導入・運用が可能であれば、さらに最高ですよね。

本稿は、このようなニーズをお持ちの読者を対象としています。以下では、Twilio Studioを活用し、本稿用に予め用意されているツールを用いてIVR(電話応答フローの処理ツリー)を設計する方法を解説します。開発(プログラミング)の専門知識は不要ですので、安心して読み進めてください。

IVR(自動音声応答)とは

自動音声応答(IVR)とは、電話システムに関連する自動化テクノロジーで、これを使用することにより、通話の発信者は1つの電話番号を経由して、状況や選択に応じて、異なる情報または複数の人々にアクセスできるようになります。IVRシステムはキーパッド上のボタン押下等のやり取りを通じて通話者から情報収集を行い、収集情報に基づいて通話を適切に処理(例: お待たせ、ルーティング、転送、切断)します。IVRでは、「技術支援の場合は1を、営業問い合わせの場合は2を、オペレーターにお繋ぎする場合は0を押してください」のようなシンプルなものにもできますし、航空会社に電話したときのフライト案内や変更のような、もう少し複雑なものにすることも可能です。

IVRは優れたツールであり、これを活用して、顧客を各々のニーズに最適な担当者に結び付けられるようになります。しかも問い合わせ窓口としての電話番号が1つあれば、背後で様々な処理に分岐させることが可能です。従来、IVRシステムはサーバーにインストールしなければならず、稼働させるには電話回線を収容するテレフォニーボードが必要でした。Twilioのようなクラウドソリューションの場合、IVRの実装・展開は非常に簡単で、先ずTwilio Studioを利用して応答フローの設計を行い、次にTwilioから電話番号を購入し、フローに番号を関連付けるだけです。

プログラミング体験なしにTwilioでIVRを設計・展開する

前提条件: プロジェクトの前提条件

  • Twilioアカウント −無料サインアップはこちら
  • Twilio電話番号 - 電話番号の購入方法についてはこちら。(国内の電話番号の手配にあたっては、規制情報の提出・承認という手順も重要となります。この手順については、こちらをご確認ください。)

手順1: 構築済みUIにアクセス

本稿用に予め用意されているツール(http://studio-ivr-builder.twil.io/)にアクセスします。このツールで読者の皆さん向けの独自IVRフローを作成するのですが、バックエンドではTwilio Studio以外にも、Twilio Functions等を活用しています。

studio-ivr-nocode-jp-1

手順2: IVRフローで使用する音声合成のボイスを選択

本稿用のツールでは音声合成エンジンとしてAmazon Pollyを利用しますが、Pollyで提供されるボイスから適切なものを選択します。(残念ながら、本稿用のツールでは日本語音声合成には対応していません。また動作確認という意味では、ドロップダウンの選択肢、上3つからの選択が標準的になります。)

studio-ivr-nocode-jp-2

手順3: 音声ガイダンスによる挨拶を設定

この挨拶は、Twilio電話番号に電話をかけた際に最初に流れる音声ガイダンスです。挨拶のガイダンスでは、先ず会社名を名乗り、IVRフローがこの後に通話の発信者をどこに接続しようとするかを大まかに話すのがよいでしょう。また、その後に手順6で設定する「分岐」内容を案内することになりますが、いきなり分岐の詳細を話すのではなく、ガイダンス全体が滑らかに繋がるように橋渡し役となる文章を少し含めるとよいでしょう。

デフォルトのメッセージは次のとおりです。

こんにちは、RoboRosiへようこそ。コミュニティ型ワークスペースの適切な部門に転送できるようにお手伝いさせていただきます。お話したい相手を指定してください。

studio-ivr-nocode-jp-3

手順4: SMSによる挨拶を設定

この挨拶は、SMSの送信者がTwilioの電話番号にショートメッセージを送信した際に返信として受け取ることになる応答SMSメッセージです。応答メッセージでは、先ず会社名を名乗り、IVRフローがこのメッセージを追跡している訳ではないことを暗示しておくのがよいでしょう。また、SMSの送信者に、あらためてダイヤルしていただきたい電話番号を伝え、その通話のルーティングの一環として、Studioフローが適切な部門へ接続することを大まかに伝えます。Twilio番号とSMS処理との関連付けを設定したい場合は、Studioドキュメントのチュートリアル(ある程度の開発者体験が必要です)をご確認ください。

デフォルトのテキストメッセージ応答は次のとおりです。

Hello, RoboRosiです! こちらにお電話いただければ、適切な部門{{flow.channel.address}}にご案内いたします。

{{flow.channel.address}}を見て何のことかと悩むかもしれませんが、心配はいりません。これは、後ほどの手順9でもカバーしますが、Studioフロー処理のきっかけとなったTwilio番号が自動的に入力されます。すなわち、処理段階で番号が動的に変換され、自動的に記載されます。

studio-ivr-nocode-jp-4

手順5: 分岐の設定

分岐の部分を設計する際、会社の部門、従業員、またはビジネス機能に置き換えて考えてみましょう。例えば、1) 営業、技術サポート、運用の3つの部門、2) Steve、Amy、Cali、John、Joeの5つの分岐、3) R&D、購入、人事、会計の4つの職能というように分岐構造(および分岐数)を決めます。対応する分岐の数は最大10です。

studio-ivr-nocode-jp-5

手順6: 分岐構造の設定

分岐の構造・数を設計したら、実際に分岐を定義しましょう。各分岐について、「分岐名」と「分岐先の電話番号」を入力します。「分岐名」は、IVR音声が発話する分岐の名称です(営業、John、R&Dなど)。「分岐先の電話番号」は、通話者が分岐を選択した場合にIVRフローが通話者を接続する電話番号です。

studio-ivr-nocode-jp-6

手順7: JSONデータへの変換とクリップボードへのコピー

すべての分岐名と番号を入力したら、JSON形式のデータへ変換し、クリップボードへコピーします。画面に [JSON updated and copied to clipboard!](JSON形式データを更新してクリップボードにコピーしました)と表示されれば、正常に完了したことを確認できます。

studio-ivr-nocode-jp-7

手順8: Twilioアカウントへ Studioフローをインポート

1. Twilioコンソールにログインします。

2. コンソール画面、右上部の [Jump To](移動)セクションで「Studio」と入力し、検索します。以下の画面キャプチャのハイライト部分のようにリンク化された「Studio」を見つけ、クリックし、コンソール画面のStudioのセクションに移動します。

studio-ivr-nocode-jp-8

3. [Create a flow](フローの作成)を選択します。(もしくは、「+」記号のボタンを押すことでフローの作成をしましょう。)

studio-ivr-nocode-jp-8b

4. 「Studio Flow IVR Builder」など、フローに名前を付けます。[Next] を押してください。

studio-ivr-nocode-jp-8c

5. [New Flow](新規フロー)ポップアップダイアログを下までスクロールし、[Import from JSON](JSON形式データのインポート)ボックスをクリックしたら、[Next](次へ)をクリックします。

studio-ivr-nocode-jp-8d

6. 手順7でクリップボードにコピーしたJSONデータを貼り付けます。1つの長い行で表示されます。[Next](次へ)をクリックします。

studio-ivr-nocode-jp-8e

7. おめでとうございます!最初のStudioフローができました。[Publish](発行・公開)ボタンをクリックします(グレーアウトしていない場合)。次のような画面になります。

studio-ivr-nocode-jp-8f

手順9: Twilio番号のStudioフローへの関連付け

1. コンソール画面、右上部の [Jump To](移動)セクションで「phone numbers」と入力し、検索します。以下の画面キャプチャのハイライト部分のようにリンク化された「Phone Numbers」を見つけ、クリックし、コンソール画面のPhone Numbersのセクションに移動します。

studio-ivr-nocode-jp-9

2. [Active Numbers](アクティブな電話番号)の箇所に一覧表示されている番号から、Studioフローに関連付ける番号を選んでクリックします。番号が何もリストされていない場合は、[Buy a number](番号の購入)を選択します。(前提条件の箇所で前述したように、国内の電話番号の手配にあたっては、規制情報の提出・承認という手順も重要となります。この手順については、こちらをご確認ください。)

studio-ivr-nocode-jp-9b

3. Studioフローに関連付ける番号をクリックしたら、下にスクロールして [Voice and Fax](音声とFax)まで移動します。[A Call Comes In](着信)を探し、[Webhook] を [Studio Flow](Studioフロー)に変更し、右側のドロップダウンから関連付けるべきフローを選択します。(手順8の項目4で命名したもの)

studio-ivr-nocode-jp-9c

4. 通話着信時の動作をカスタマイズしたら、下にスクロールして [Messaging](メッセージ)まで移動します。[A Message Comes In](着信メッセージ)を探し、[Webhook] を [Studio Flow](Studioフロー)に変更し、右側のドロップダウンから関連付けるべきフローを選択します。

studio-ivr-nocode-jp-9d

5. 最後に、[Save](保存)を選択します。

studio-ivr-nocode-jp-9e

手順10: 動作確認

設定した番号にテストSMSメッセージ(内容は何でもOKです)を送信し、設定した挨拶メッセージを含むSMSが返信されてくるかを確認します。また、同じ番号に電話をかけ、IVRフローの一連の流れを確認します。(注意: US等の海外の番号に対して日本国内から動作確認を行う場合、その通信費用についてご注意ください。)


技術的な知識をお持ちの場合は、Studioフローのオプション的な機能となりますが、もう少し踏み込んでStudio REST APIを利用してみましょう。

TwilioのGitHubでは、Studioフローのオプション的な機能となりますが、もう少し踏み込んでStudio REST API v2を利用し、カスタムStudioフローをTwilioコンソールにプッシュする方法をご確認いただけます。以下のデモビデオでは、IVRを構築し、StudioフローのREST APIを介してご自身のTwilioアカウントにプッシュする方法を説明しています。

このプロジェクトは、米国中部地域のグロース部門担当のSEメンバー(Sarah Johnson、Grady Bernard、Adam Saulnier、Caitlin Murphy)のレビューを経てお届けしています。

Sarah Johnson: コロラド州デンバーを拠点とするTwilioのソリューションエンジニア(SE)。新しいことに目がなく、ユニークな課題の解決に取り組むことに喜びを見い出します。世界が注目するTwilioソリューションにエキサイティングなアイデアの数々を提供。連絡先: sajohnson [at] twilio.com

Grady Bernard: TwilioのGrowth Teamのソリューションエンジニア。

Adam Saulnier: コロラド州デンバーを拠点とするTwilioのソリューションエンジニア。Twilio製品によるソリューションを軌道に乗せるために、技術的なデジタルシェルパとしてクライアントに寄り添い、問題解決に熱心に取り組んでいる。

Caitlin Murphy: コロラド州ルイスビルを拠点とするTwilioのソリューションエンジニア。多様なデジタルバックグラウンドを武器に、その人生の大半で、難しい技術的課題をかかえるクライアントを創造的な解決へと導く「ヘルパー」として活躍。