AlexaとIFTTTを使った 在宅ワーク時における勤怠共有方法

n_kawamura
在宅ワーク時の勤怠共有が地味に面倒だったので、Amazon Echo(Alexa)とIFTTTを使って少しだけ楽にしました。

事前準備

  • 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

t_izawa
うちもGoogleHomeで電気とかテレビけしたりしてるんですが
結構はじめは音声入力が恥ずかしいです。
n_kawamura
たしかに。最初小声になったり、ちょっと抵抗ありました。
うちのAlexaは「退勤(たいきん)します」が中々聞き取れず、3回ぐらい言わないと分からないときがあります。
割と大きな声で言ってますw
masayuki_nakamura
Echo show は下の子(3才)が最近声で操作できるようになってきて、普通に使いこなして天気予報とか聞いたり、じゃんけんしたりして遊んでます。
大人のやってることをすぐにマネするので、うちじゃできない(勝手に出退勤しそう・・・てか絶対するわ・・・><;
n_kawamura
あー、確かに子供は聞いてたら絶対マネしますね笑
Siriとかは何故か全然使えてないんですが、Alexaを使ってみて、音声入力って、入力デバイスとしてはかなりいけている気がしてますね。楽です。