Help us understand the problem. What is going on with this article?

スマホのGPS機能で残業時間を割り出してslackに通知する

こんなことができます

スマホを持って会社から離れるだけで、slackに今日の残業時間と今月・先月の残業時間を通知します。
image.png

概要

Integromatという、いろいろなWebサービスをつなぐサービスを利用します。

3交代&常勤で4種類の勤務時間帯があるため
Googleカレンダーに登録した当日のシフトを確認した上で、残業時間を計算できる仕組みにしました。

image.png

  1. スマホからGSP情報をIntegromatへ送信(Integromatアプリ経由)
  2. Googleカレンダーから今日のシフトを確認
  3. Excelに今日のシフトの終業時間と実際の退社時間を記録
  4. Excel上で計算された残業時間を取得
  5. slackに通知

必要なもの

  • Android スマートフォン
  • Integromatアカウント
  • Googleアカウント
  • Office365アカウント

Integromatは大まかに言うとAPIの実行回数によってプランが分かれていて、フリープランで月1000回分利用できます。
今回のシナリオでは月22日の出勤でも110回消費なので、フリープランで十分まかなえます。
もし超えてしまっても実行できなくなるだけで、勝手に有料プランに移行したりはしないです。

事前準備

Androidの設定

デバイス登録

  1. PCでIntegromatにログイン
  2. Device -> Add a device を選択
  3. 名前を適当に入力してcontinue

image.png
4. QRコードが表示される
5. スマホでPlayストアからIntegromatアプリをダウンロード
6. アプリの初回起動画面でUse a code -> Scan a code を選択
7. 先ほど表示したQRコードをスキャン
8. アプリでSettingsが表示される

エリア設定

  1. Settings > GPSで Entered/left the areaにチェックを入れる
  2. Manage areasから会社の位置にareaを作成する
  3. Notification upon exit from areaだけONにする
  4. Area diameterを適宜設定する
  5. Saveする

お昼に外出する人は会社として判定する範囲を広めにするとよいと思います。

Googleカレンダーの登録

シフト情報だけが登録されたカレンダーを作成しておく必要があります。
定時の終業時間がわかるように、イベントの終了時間も設定しておきます。
image.png

Office365 Excelの設定

Integromat上で計算式を書くのは面倒なので
残業時間の計算などはExcelの計算式で自動入力できるようにします。

Integromat側の制約を考慮して、Excelを作る時のポイントは以下の通りです。

  • データ入力先は必ずテーブルにする
  • 取得したい集計結果は横に並べる

こんなかんじ

image.png

image.png

Integromatのシナリオ作成

GPS情報の受け取り

  1. Androidモジュールで、Watch entrances to/exits from a geofence areaを選択
  2. 先ほど登録したデバイスを選択してOK

Googleカレンダーのイベント取得

  1. 「Google Calendar」モジュールのGet eventsを選択
  2. シナリオが実行された時刻の14時間前〜実行された時刻の間で、イベントを検索するよう設定

image.png

Excelに残業時間を書込み

  1. 「Office365」モジュールのAdd a table rowを選択
  2. 作成したExcelを選択
  3. 各列の設定はスクショのとおり

image.png

Excelの別シートに記載された集計結果を取得

  1. 「Office365」モジュールのRetrive dataを選択
  2. 作成したExcelを選択
  3. 取得したい集計結果が記載されているセルを指定する

image.png

残業時間をSlackに通知

  1. 「Slack」モジュールのCreate a messageを選択
  2. Connectionとchannelを設定
  3. 投稿したいメッセージを作成

image.png

Show advanced settingsにチェックを入れると投稿内容の細かい設定ができます。
User nameを変えておくと、何のお知らせかわかりやすいのでおすすめです。
image.png

おわり

これでタイムカードを目視して暗算しなくて済みます。
エリア出入りを元にマナーモードやWi-FiのOn/Offもできるので、Integromatとスマホの連携はなかなか便利です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした