search
LoginSignup
1

posted at

updated at

スマホから2タップでIEYASU(HRMOS)に勤怠登録する

身内需要のための記事ですが、せっかくの機会ということでQiita初投稿します。
追記: 弊社 Tech Blog と併せての投稿となりました

実現したいこと

私の勤務先では勤怠管理に IEYASU というシステムを使っています。
追記:「HRMOS勤怠 by IEYASU」に名称が変わりました

個人的に転職したばかりで、前職のものよりはるかに使いやすいシステムのため、日々感謝しております。
ただ1点感じたのは、出退勤時間を打刻するだけなら少し手間が多いことです。

  1. PC/スマホのロックを解除する
  2. Webアプリ/ネイティブアプリを開く
  3. 社員番号とパスワードを入力し、ログインする(Webアプリの場合は都度必要)
  4. 「出勤」または「退勤」ボタンを押す

login.png

このボタンを押すためだけにこれだけのステップを踏むのは、毎日となるとちょっと面倒です。そこで、なるべく簡単に済むようにしました。
なお、手元にあるのがiPhoneのためiOSの例となりますが、Androidでも似たことが可能のようです。

作戦

IEYASUにもAPIはありますがTokenの有効期限があるため、再発行の手間を考えて今回は避けます。

代わりに、IEYASUとSlackの連携機能を利用します。

IEYASUのAppに対して「出勤」または「in」とチャットすることで出勤の打刻が、「退勤」または「out」で退勤ができます。
この方法には有効期限がなく、使い続けることができます。
chat.png
そこで「Slackに定型文チャットを送る操作」をなるべく簡単に済ます作戦を取ります。

IEYASUとSlackの連携

なにはともあれ、まずは連携から始めます。
あとで使用するIDを取得するため、この作業はブラウザ版Slackから行います。

「App」セクションにIEYASUがいればOKです。
いない場合は、「+」ボタンから追加しましょう。
ボタンは2つありますがどちらでも同じです。
chat2.png

追加できたら、「IEYASU」Appとのチャットを開いた状態で、URLを確認します。
URLの書式は
https://app.slack.com/client/{ワークスペースID}/{チャンネルID}
となっているので、チャンネルIDの方をどこかにコピーしておきます。
(チャットでも、チャンネルIDと呼ぶようです。)

SlackAppの作成

続いて、このチャットに投稿するためのSlackAppを作ります。
SlackAPIのページから "Create New App" を選択し、お好みの名前をつけて保存します。

このAppは「ユーザー自身としてチャットに投稿する」ことが必要なので、そのための権限を設定します。「Permissions」をクリックし、
slack_2-2.png

「User Token Scopes」の方に「chat:write」を設定します。
「Bot Token Scopes」は不要です。
slack_3-2.png

以上の準備ができたら、使用するワークスペースにインストールします。
インストール後、Tokenが発行されるのでどこかにコピーしておきます。
slack_4-2.png

iOSショートカットの作成

最後に、SlackAppを実行するための環境をiPhone上に作成します。
iPhoneに「ショートカット」Appをインストールし、新規作成します。

先ほどのチャンネルに投稿するためには、chat.postMessageメソッドを使います。

curl -X POST -d 'token={token}' -d 'channel={channel_id}' -d 'text={text}' 'https://slack.com/api/chat.postMessage'

iOSショートカットでcurlコマンドに相当するのは「URLの内容を取得」というアクションで、このように設定します。textに「in」と入れているので、この場合は出勤となります。
shortcut.png

さらに、出勤と退勤の時間はだいたい決まっているので、こちらの方法を利用して、1ボタンで出勤と退勤がどちらも打てるようにします。

最終的に出来上がったのがこちらです。6時〜14時なら出勤、それ以外なら退勤の登録を行います。
shortcut2.png

できたら、最後にショートカットをお好きな位置に配置します。
私はロック画面から使えるようにしたいので、ウィジェット画面に配置しています。
widget2.png

最後に

以上で完成です。
これで、iPhoneのロック画面からでも勤怠登録ができるようになりました。
私は手動トリガーで運用していますが、GPSやNFCタグも設定できますので、勤務形態に合わせて設定していただくとさらに便利かと思います。

なお、「ショートカット」AppはmacOS(Monterey以降)にも対応しています。私の場合、Macが目の前にある場合はわざわざiPhoneを取り出す方が面倒だと感じるので、メニューバーからも実行できるようにしています。もちろんシェルスクリプト等にすればMac以外でも実行可能なので、環境に合わせてご活用ください。
menubar.png

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1