11 min readZapier
【出勤報告を自動化!?】ZapierとGoogle Calendarで事前通知
コロナウイルスが流行し、リモートワークが当たり前になりました。そして毎回出勤報告するようになって面倒。。と感じている方もいるのではないでしょうか?今回はZapier x Google Calendarを用いて、出勤報告を自動化いたします。
執筆者 - おすすめの記事2選
用意するもの
- googleアカウントを持っていること(アカウント作成手順はこちら)
- Zapierに関するアカウントを取得している(アカウント登録がまだの方)
- Slackのアカウントを持っていて、チャンネルを作成している。(Slackを始める場合)
アーキテクチャ
実行手順
上記のアーキテクチャを見ただけではわからない部分も多々あるかと思います。以下の手順を踏まえて、実装してみましょう。
Google Calendarへ出勤日程を登録する
以下の作業は、Google Calendarへ出勤に関する日程情報を記載する方法を説明いたします。
googleを開いて、右上の9つの点をクリック。その中からカレンダーを選択します。
特定のアカウントでログインしていない場合、ログインを求められます。操作したいアカウントを選択してログインします。カレンダーを開いたら、予定を記入したい日時にあたる箇所をクリック。以下の画像のような入力画面が表示されるので、「その他のオプション」もしくは「More Options」を選択する。
予定に関する詳細を編集していきます。
- タイトルを追加(予定のタイトルを入力してください) : 出勤
- 日付 ~ 日付(予定の始まりと終わり時刻) : 2021 4月19日, 午前10:00 ~ 午後6:00 2021 4月19日
- タイムゾーン(どこの国を時刻の基準とするのか) : 予定開始、終了ともに(GMT+09:00 日本標準時)
- 日付 ~ 日付の下の選択ボタン(作成中の日程を繰り返し行うのか) : カスタム
- 説明を追加(予定に関する説明を追加) : 出勤 10:00-18:00
また、カスタムを選択すると予定の繰り返しをカスタマイズできます。以下の画像のような画面が表示されます。
- 繰り返す間隔(「数字 x 〇〇ごと」でどれくらいの頻度で繰り返すのか設定する) : 1週間ごと
- 曜日(◯曜日に予定を入れる場合に◯曜日を選択する) : サラリーマンは普段月~金働いているので、月, 火, 水, 木, 金
- 終了日(繰り返しを行う終了日) : なし
最後に保存を選択する。すると、毎週月曜日~金曜日に対して出勤予定が一斉に追加されます。
Zapierを作成する
以下の作業は、Zapierを活用してSlack通知するまでの方法です。始めにこちらにアクセスして、左上の「MAKE A ZAP」をクリックする。
※Zapierへログインしていない場合は、ログインを済ませておく。
左上へ作成するアプリ名を記載する。Search apps...と書かれている検索窓へ「Google Calendar」と入力し、Google Calendarを選択。
Trigger Eventとして「Event Start」を選択する。これはGoogle Calendarの予定が開始されるタイミングでアプリを動かすことを意味します。
続いて先ほどGoogle Calendar上で予定を登録したアカウントと連携してください。アプリとGoogle Calendarを結びつけるために必要になります。
次に以下の画像のようにGoogle Calendarの予定に対し、どのようにアプリを動かすのか詳細設定を行います。
- Calendar(どのカレンダーと連携を行うのか) : 自身のアカウント
- Time Before(予定が開始されるどれくらい前にアプリを動かすのか) : 1
- Time Before(unit)(予定が開始されるどれくらい前にアプリを動かすのか) : Hours
- Search Term(予定内容にどのようなキーワードが入っている場合にアプリを動かすのか?何も入力しない場合は、全て通知。) :
最後にTest Triggerをクリックして、実際にアプリをテストしてみます。
続けて、Slackとの連携を行います。Search apps...と書かれている検索窓へ「Slack」と入力し、Slackを選択。
Action Eventとして「Send Channel Message」を入力。これはSlackの特定チャンネルへメッセージを送ることをアプリに伝えます。
Google Calendarの時と同じように、通知したいSlackへ認証を行ってください。
続けてSlackの特定チャンネルへメッセージを送るための詳細設定を行います。
- Channel(投稿したいチャンネル名) : xxx
- Message Text(投稿したい内容) : おはようございます。xxx
- Send As A Bot?(Botからの通知にしますか?Botについて) : Yes
- Bot Name(Botの名前) : Zapier
- Bot Icon(Botとして投稿する際のアイコン) :
- Include A Link To This Zap?(チャンネルへ投稿したURLをつけるべきか?) : No
- Attach Image By URL(URLを使って画像を投稿) :
- Auto-Expand Links?(送られるメッセージ内にURLがある場合に、URL先の情報(画像や詳細文章など)を展開すべきか?) : Yes
- Link Usernames And Channel Names?(メッセージ内にメンションがついている場合に、認識すべきかどうか?メンションについて) : Yes
- Schedule At(投稿する日付を調整する) :
- File(メッセージと一緒に投稿するファイル) :
- Thread(スレッド内へ投稿する場合に、スレッドの親にあたるタイムスタンプ。スレッドとは?) :
- Broadcast To Channel?(チャンネル、スレッドへ投稿するのか?) : No
最後にTest Triggerをクリックして、実際にアプリをテストしてみます。するとSlackへテスト通知されます。
完成画像
今日のまとめ
- Zapierを活用することで、Google Calendarとの連携ができる。
- 通知したい情報を集約する際に、Zapier x Slackが便利。
こんなことにもチャレンジしてみよう
- 祝日の日は通知しないように工夫してみよう。
- 予定を通知する条件として「在宅」のキーワードが入っている場合のみに変更する。
- Slack以外にもその他の通知先にも投稿してみよう。