Twilioで転送電話→出なかったら留守電応答→音声録音→メール送信

Twilioで留守電を実装したときの覚書。

環境: 株式会社、0120番号

ちなみに掛かってきた0120を090の携帯番号に転送しているのでスマート留守電を使う方法もある。
個人携帯はスマート留守電を便利に使っている。
参考: スマート留守電を試す


Twilio Studioで留守電機能実装

やりたい事

  1. 0120番号に掛かってきて5秒間出なかったら自動応答
  2. 留守電に音声録音
  3. 通知メール送信(0120はSMS送信できないから)


参考サイト


SendGridのアカウント作成

SendGridは2019年にTwilioの買収が完了して完全子会社化した。

構造計画研究所(kke.co.jp)の日本語化されたサイトで昔登録したけど、Twilio同様に本社のアカウントを作成することにした。

住所と名前はローマ字で登録。

メニューのAPI Keys -> Create API Key

API Key Name: Twilio Functions
API Key Permissions: Full Access

表示されたAPI Keyをコピーしておく。

送信元ドメイン認証(SPFとDKIM)を設定する。
DNSにCNAMEレコードを3行追記するだけなので簡単。
参考: ドメイン認証の設定方法 | Twilio


Twilio Functions + Studioで応答フロー作成

TwilioメニューのExplore Products -> Functions and Assets
メニューにPin止めしておく

「Create Service」して参考サイトの通りに作る。
ただ英語サイトの方が新しかったので、@sendgrid/mailモジュールのバージョンは7.6.0にした。

その後、Twilio Studioへ移動して前に作った転送電話用フローを編集した。


Twilio Studioフロー設定のポイント

  • record_voicemail後に(「Recording Complete」だけでなく)「Hungup」もFunctionに繋げないと録音後にすぐ切られると転送しない。
  • say_playのMESSAGE VOICEは[Polly] Mizukiが聞きやすかった。
  • 便利だったので着信3秒後には留守電応答するようにした。

Twilioの機能を理解するいい機会になった。
活用すればウェブシステムと連携した電話予約や自動応答も構築できそう。


【関連記事】