![[Twilio+Slack] Slack コマンドで音声読み上げ通話を自動発信する: SQS+Lambda での非同期処理構成 [3/3]](https://images.ctfassets.net/ct0aopd36mqt/wp-thumbnail-3f316c20ff5f4f46d1a005e2ad976882/c71162912c717bb0ca7c9b4196a40df5/twilio.png)
[Twilio+Slack] Slack コマンドで音声読み上げ通話を自動発信する: SQS+Lambda での非同期処理構成 [3/3]
- 第 1 回: 構成と Twilio 初期設定
- 第 3 回: Slack アプリの設定と動作確認
対象読者
- Slack スラッシュコマンドから電話発信を行いたい方
- Twilio の音声読み上げ通話機能(TwiML
Say
)を試したい方 - AWS Lambda + SQS + API Gateway の連携例を学びたい方
- Slack の 3 秒タイムアウト制限を回避したい方
- Twilio 利用時の課金リスク回避設計にも関心がある方
参考記事
検証環境
バージョン
node: 22.13.1
npm: 10.9.2
node_modules/twilio: 5.5.1
node_modules/aws-sdk: 2.1692.0
概要
本記事では、Slack のスラッシュコマンド /voice
を使って、Twilio 経由で自動音声通話を発信する仕組みの仕上げとして、Slack アプリの作成とコマンド設定、署名検証用シークレットの取得、そして実際の動作確認を行います。
構成図における Slack 側の設定(赤枠部分)を中心に解説します。
Slack アプリの設定
Signing Secret の取得
署名検証に使う Signing Secret
は、Slack アプリ作成後の Basic Information
ページから取得できます。
- Slack API にアクセス
Create New App
→From scratch
- 名前とワークスペースを指定してアプリ作成
- 左メニュー
Basic Information
→App Credentials
からSigning Secret
をコピー
スラッシュコマンドの作成
Slack アプリ左メニュー Slash Commands
→ Create New Command
を選択し、以下のように設定:
項目 | 値 |
---|---|
Command | voice |
Request URL | API Gateway のエンドポイント |
Short Description | 認証コードなどを音声で読み上げます |
Usage Hint | +81XXXXXXXXXX 認証コードは1234です |
アプリのインストール
左メニュー Install App
→ Install to Workspace
をクリックし、権限を許可してインストールします。
動作確認
Slack 上で次のようにコマンドを入力します:
/voice +819012345678 認証コードは1234です
Lambda 関数が署名を検証し、SQS にメッセージを送信。後段の Lambda によって Twilio API が呼び出され、音声読み上げ通話が実行されます。
トラブルシューティング
Lambda のログ確認
CloudWatch Logs のロググループから、Slack リクエスト処理関数や通話発信関数のログを確認してください。console.log()
を仕込むと詳細な状態がわかります。
SQS の状態確認
SQS コンソール → 対象キュー → 「モニタリング」タブで以下を確認できます:
メトリクス名 | 説明 |
---|---|
ApproximateNumberOfMessagesVisible | 処理待ちメッセージ数 |
ApproximateAgeOfOldestMessage | 最古のメッセージの滞留時間 |
まとめ
第 3 回では、Slack 側の設定と動作確認を行い、Slack コマンド /voice
→ Twilio 音声通話までの全体構成が完成しました。
- Slack アプリの作成と署名検証の導入
- スラッシュコマンド
/voice
による発信リクエストの実行 - SAFE_MODE やホワイトリストで課金リスクを回避
次のステップとしては、以下の応用が考えられます:
- 音声メッセージのテンプレート化や多言語対応
- 発信結果を Slack に通知する機能の追加
- 音声合成 (
Say
) の代わりに録音済み音声 (Play
) を使った高度な IVR
Slack + Twilio + AWS Lambda の構成は拡張性が高く、さまざまな業務自動化に応用できます。ぜひご活用ください。
- 第 1 回: 構成と Twilio 初期設定
- 第 3 回: Slack アプリの設定と動作確認