事前準備
- Alexaが搭載されているAmazon Echo等を買う(たぶんAmazonのアカウント登録+Alexaアプリをスマホに入れるだけでもできる※未確認)
- 自分のGoogle Drive内に適当なフォルダを作り、Google スプレッドを2つ作る(2つじゃなくてもいいけど)スプレッドのスクリプトエディタで簡単なGASを書く。
- IFTTTでアプレットを6つぐらい作る(たぶんZapierでもできる)
どんな風に変わったか
これまで
① メーラーを開く
② 件名に【在宅勤務/河村】と入力
③ 本分に「開始します」または「終了します」と入力
④ 送信
⑤ slackを開く
⑥ ステータス変更する(「出勤中」または「退勤中」)
所要時間:1分ぐらい
こうなった
① 「アレクサ、出勤します」または「アレクサ、退勤します」とAlexaに言う
所要時間:3秒ぐらい
Amazon Echo(Echo DotやEcho Show等)に声をかけると、これまでの①から⑥に相当することを自動でやってくれる。
とりあえずやったことのメモ
IFTTTへのサインイン
IFTTT
https://ifttt.com/
IFTTTのサイトの右上「Sign Up」を選択、SORAのGoogleアカウントでSSOできるので簡単。
IFTTTのアプレット登録-共通(以下①と②の共通事項)
- IFTTTへサインイン後の画面で、右上のメニューから「Create」を選択。
- 「If +This Then That」とあるので「+This」を選択。
- 「Choose a service」とあるので「alexa」と入力し、表示された「Amazon Alexa」を選択。
- 「Connect」を選択し、Amazonのログイン情報(Eメールまたは携帯電話番号とパスワード)を入力。
- 「Choose trigger」とあるので「Say a specific phrase」を選択。
- 「What phrase?」にトリガーとなる音声を入力し、「Create trigger」を選択。(例. 「出勤します」など)※漢字を含めても良い
- 「If Then +That」とあるので「+That」を選択。※「+This」だった部分はAlexaのアイコンに変わっている
IFTTTのアプレット登録-①(slackのステータス変更編)
- IFTTTのアプレット登録-共通を実施。
- 「Choose action service」とあるので「webhooks」と入力し、表示された「Webhooks」を選択。
- 「Choose action」とあるので「Make a web request」を選択し、以下のように適宜情報を入力。(例. 退勤の場合)
・URL: https://slack.com/api/users.profile.set
・Method: POST
・ContentType: application/x-www-form-urlencoded
・Body: token=xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx={秘密}&profile={“status_text”:”退勤中”,”status_emoji”:”:ng:”, “status_expiration”:0}
※上記は退勤の場合の例です。やりたいことに合わせstatus_textとstatus_emojiを適宜変更してください。
※{秘密}はご自身のslackのメンバーIDを入力してください。(大文字Uから始まる文字列です)
- 「Create action」を選択。
- 「Review and finish」とあるので「Finish」を選択。
IFTTTのアプレット登録-②(メール送信編)
- IFTTTのアプレット登録-共通を実施。
- 「Choose action service」とあるので「google」と入力し、表示された「Google Sheets」を選択。
- 「Choose action」とあるので「Update cell in spreadsheet」を選択し、以下のように適宜情報を入力。(例. 退勤の場合)
・Drive folder path: Amazon Alexa/
・Spreadsheet name: attendance_leaving
・Which cell?: A1
・Value: {{TriggeredAt}}
※上記は退勤の場合の例です。やりたいことに合わせSpreadsheet nameを適宜変更してください。(例えば出勤の場合は「attendance_going」とか) - 「Create action」を選択。
- 「Review and finish」とあるので「Finish」を選択。
メール送信
先ほどのIFTTTのアプレット登録-②(メール送信編) で設定した「Drive folder path」のGoogle Driveのフォルダに「Spreadsheet name」の名前のGoogleスプレッドを作成しておきます。
この後のAlexaの設定で、予め決めておいた発声をトリガーに、上記のGoogleドライブ&GoogleスプレッドのA1セルに、トリガーを受け付けた日時が設定されます。
GASでは、このA1の値を参照し、入力値があればA1セルをクリアしつつ、所定のアドレスへメールを送信。
この処理を1分間隔で実行するように設定しておきます。
なお、本当はIFTTTでGmail連携ができればスマートだったのですが、IFTTTとGmailへの連携は数年前に停止されてしまったので、苦肉の策という感じです。
Alexa側の設定
iOSであればApp Storeに「Amazon Alexa」というアプリがあるので、それをダウンロードしておきます。
このアプリに「定型アクション」というメニューがあるので、
- トリガーとなる発声(フレーズ)
- IFTTT上のアプレット
をそれぞれ入力・選択することで、所定の発声をすることで、予め決められたアクション(今回ではslackのステータス変更とメール送信)を実行させることができます。
ちなみにこの定型アクションは、一つの発声に対して、複数のIFTTTのアプレットを登録できるので、様々なことを同時に実行させることができます。
その他改善点等
- 今回はAlexaでしたが、たぶんSiriやGoogle Assistantでも、IFTTTと連携させることもできると思います。
- メール送信の方法は、他にもやり方あると思います。とりあえず僕は知っているやり方にしました。
- ぶっちゃけ、今までと比べてちょっと楽になった程度です。ですが、自分の声をトリガーにして、上手く動いているのを見ると朝からワクワクします笑
- 他にも応用が利きそう。
- 最初の事前準備(他の方はやる必要無い)と最後のほうの説明はちょっと端折ったので、興味ある方は連絡ください。
Comments4
結構はじめは音声入力が恥ずかしいです。
うちのAlexaは「退勤(たいきん)します」が中々聞き取れず、3回ぐらい言わないと分からないときがあります。
割と大きな声で言ってますw
大人のやってることをすぐにマネするので、うちじゃできない(勝手に出退勤しそう・・・てか絶対するわ・・・><;
Siriとかは何故か全然使えてないんですが、Alexaを使ってみて、音声入力って、入力デバイスとしてはかなりいけている気がしてますね。楽です。