採用系プロダクトを提供している企業の社内もろもろを担当する予定のakibinです。
最近、事あるごとに腕立をしています。理由は筋肉が付くと酒が強くなるというまことしやかな情報を信じているから。
やったこと
SMSメッセージをSlackチャンネルに転送して複数メンバーで共有できないかと思い調べたところこの方法にたどり着きました。
本件の作業手順は以下の感じです。
- Twilioアカウント登録
- SMS用電話番号を取得
- SlackチャンネルでIncoming Webhook設定。Webhook URLを取得
- Twilio StudioでSMSをSlackへ転送するフローを作成
- Twilio Studioフローと電話番号を紐付ける
作業
Twilioアカウント登録
twilioの[無料サインアップ]からアカウント登録。
クレジットカード情報など登録しなくてもアカウント登録可能でした。
SMS用電話番号を取得
ConsoleからDevelopタブ > Phone Numbers > Manage > Active numbersを開き、Buy a numberをクリック
次に必ずCountryでUnited Statesを選択してください。日本の電話番号だとSMS不可。
検出された適当な番号をbuyします。費用が表示されていますが、トライアウト期間は料金発生しません。
Active Numbersに購入した番号が表示されます。この時点でSMSがこの番号に送信可能です。
SlackチャンネルでIncoming Webhook設定。Webhook URLを取得
SMS受信したらTwilioからHTTP POSTが実施され、SlackチャンネルにSMSメッセージが転送されることになります。なので、該当チャンネルにIncoming Webhookを設定してPOSTするURLを取得します。
手順についてはSlack での Incoming Webhook の利用を参照してください。
Twilio StudioでSMSをSlackへ転送するフローを作成
ConsoleからDevelopタブ > Studio > Overviewを開き、Cleate new Flow(+)をクリック
デフォルトのStart from scratchが選択された状態でNext
諸々設定画面が表示されます。
WIDGET LIBRARYからMake HTTP RequestをドラッグしてTrigger下辺りに配置
配置されたWIDGETとIncoming Messageをドラッグしてピーっと紐付けます。
WIDGETに各設定をしていきます。設定したらSaveをクリック。
- WIDGET NAME : 任意の名前
- REQUEST METHOD :
POST
- REQUEST URL : Incoming WebHooksで取得したWebhook URL
- CONTENT TYPE :
Application/JSON
- REQUEST BPDY :
{"text": "{{trigger.message.Body}}"}
Twilio Studioフローと電話番号を紐付ける
ConsoleからDevelopタブ > Phone Numbers > Manage > Active numbersを開き、先程取得した電話番号をクリック
下の方のMessagingまでスクロールして、各設定値を入れる
- CONFIGURE WITH OTHER HANDLERS :
Webhooks, TwiML Bins, Functions, Studio Flow, Proxy Service
- A MESSAGE COMES IN : 先程作成したStudio Flowを選択
- PRIMARY HANDLER FAILS :
Webhook
,HTTP POST
資料参考