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の発音は難しい