betaが公開されたのを機に、Twilio Studioをさわってみました。
必要なもの
- Twilioアカウント
 
作業概要
 1. 無料トライアルアカウント作成と電話番号購入
 2. function作成
 3. フロー作成
 4. 電話着信時の設定
 5. 動作確認
1. 無料トライアルアカウント作成と電話番号購入
まだアカウントがない場合は、Twilioのサイトから無料トライアルアカウント作成を作成します。
無料トライアルアカウントは以下の制限があるようです。
- 利用できる無料電話番号は1個
 - 利用料金の上限(非公開)を超えると無料トライアル終了
 
2. function作成
今回studio内で利用するfunctionをあらかじめ作成しておきます。
時間帯に応じた挨拶の文言を返します。
 1. ログイン後、左側の[DEVELOPER TOOLS] - [Runtime]を選択
 2. [Functions]を選択
 3. 赤丸のプラスを選択
 4. 以下内容を記述して新規functionを作成
FUNCTION NAME: welcome
PATH: /welcome
exports.handler = function(context, event, callback) {
  var date = new Date();
  var msg;
  if (date.getUTCHours() >= 11 && date.getUTCHours() < 21){
    msg = "こんばんは。";
  } else {
    msg = "こんにちは。";
  }
  let response = { message: msg };
  callback(null, response);
};
3. フロー作成
 1. 左側の[ENGAGEMENT CLOUD] - [Studio]を選択
 2. 赤丸のプラスを選択
 3. widgetを配置して、フローを作成
完成したフロー図
1. Run Functionを配置する
 1. Run Functionを右側から選択して配置
 2. TriggerのIncomming Callと接続
 3. 以下を設定
  FUNCTION URL: welcome
2. Say/Playを配置する
 1. Say/Playを右側から選択して配置
 2. Run FunctionのSuccessと接続
 3. 以下を設定
  TEXT TO SAY: {{widgets.function_1.parsed.message}}
  LANGUAGE: Japanese,Japan
3. Gather Input On Callを配置する
 1. Gather Input On Callを右側から選択して配置
 2. Say/PlayのAudio Completeと接続
 3. 以下を設定
  TEXT TO SAY: 今日の運勢を占う場合は1を、終了する場合は2を押してください。
  LANGUAGE: Japanese,Japan
4. Split Base On...を配置する
 1. Split Base On...を右側から選択して配置
 2. Gather Input On CallのUser Pressed keysと接続
 3. 以下を設定
  VARIABLE TO TEST: gather_1.Digits
 4. 赤字の[New]を選択し、下に出てくる[Condition Matches]を選択
 5. VALUE: 1を入力
 6. 4, 5を繰り返し、VALUE: 2を入力
5. 残りのSay/Playを配置する
 1. Say/Playを右側から選択して配置
 2. Split Base On...の1と接続
 3. 以下を設定
  TEXT TO SAY: 大吉です。
  LANGUAGE: Japanese,Japan
 4. Say/Playを右側から選択して配置
 5. Split Base On...の2と接続
 6. 以下を設定
  TEXT TO SAY: 終了します。
  LANGUAGE: Japanese,Japan
4. 電話着信時の設定
購入した電話番号に着信したら、上記で設定したStudioのFLOWが動作するように設定する必要があります。
 1. 左側の[SUPER NETWORK] - [Phone Numbers]を選択
 2. 購入した電話番号を選択
 3. 下記を設定(作成したフロー名がtest8の場合)
5. 動作確認
購入した電話番号に電話します。以下のようなフローになれば成功です。
 1. 「こんにちは。(こんばんは)」
 2. 「今日の運勢を占う場合は1を、終了する場合は2を押してください。」
 3. 1を押す / 2を押す
 4. 「大吉です。」 / 「終了します。」
雑感
- 操作がとても簡単。
 - Coming Soonになっているthird-party integrationsが気になる。また作成したWidgetやFlowが共有・公開できると面白そう。
 - 「TriggerのREST API」「Run Function」「Split Base On...」「HTTP Request」を利用して電話とかSMSとか関係ないワークフローも簡単にできそう。
 - 参考にした動画からの教訓:Bobの発音は難しい