年末に待望のAmazon Echoが届きました。招待リクエストを送ってから1ヶ月以上待たされ、情熱も失いかけましたが、なんとか気力を振り絞ってアプリ開発をしてみました。
今回の目的
- Alexa、会社に連絡をして
と話しかけることで、SlackのIncoming Webhooksを使用してメッセージを送信する、というアプリを作ってみようと思います*1。
1. Echoから呼び出されるLambdaファンクションを登録
大まかには
- リクエストを受け取り、Slackにメッセージを送信する
という流れになります。
トリガーにAlexa Skills Kit
を設定してください。
今回作成したLambdaファンクションはこんな感じです。
ARNの値をAlexa Skillと紐付ける必要があるのでメモっておいてください。
2. Alexa Skill の作成
Amazon開発者ポータルよりAlexa Skillを登録します。
2-1. スキル情報
グローバルフィールドは全て「いいえ」を設定します
2-2. 対話モデル
2-3. 設定
サービスエンドポイントのタイプ
にはAWS Lambda の ARN (Amazonリソースネーム)
デフォルト
にはLambdaファンクションのARN
を設定します
3. 動作確認
管理画面を開いて登録したSkillを有効化します。
Alexa、会社に連絡をして
と話しかけることで、Slackに通知が行く筈です。
まとめ
特にサーバを用意する必要もなく、LambdaとAlexa Skillの設定をポチポチすることでお手持ちのAmazon EchoをトリガーにSlackのメッセージを送ることができました。
いちいちスマホを取り出してメッセージを入力することなく、Alexa、会社に連絡をして
と話しかけるだけでお休みすることが通知できるのです。なんだかスマートな感じしませんか?
ぶっちゃけ、Alexa Skill単体で収入を得ようと思ったら難しいと思います。あるサービスの機能の1つとして「Amazon Echoからもできますよ」という形にしないとビジネスにならないと感じました。 ただ、音声だけでやりたいことが実現できるというのは複雑なUIが絡まないので今後広がっていくのではないかと思います。 下手すると電話の音声案内になってしまいそうですよね。アイディアが欲しい...。
*1:ハッチャケた翌朝、連絡するのが億劫だなという時に使用したいなと思いました