ヒロエルモノヲヒロウ日記

思いついたときが書き時

リモートワークでSlackを使う人の手助け(つづき)

リモートワークしてますか?

 

唐突になんだという感じですね。

 

私自身は最近普通に出社するようになりました。

状況によりリモートでの対応になることはあるものの、会社が比較的近所なので電車通勤じゃないしリモートワーク推進のおかげで社内がガラガラなので、ソーシャルディスタンス確保し放題で特に「リスク」って高くないですし。

元々リモートワークしてたのも「別件」の事情だったということもあり、リモートワーク中のメンバーのフォローのための出社って感じですかね。

 

 

会社最寄りの駅では明らかに通勤客が増えていますね。

緊急事態宣言解除で元の状態に戻そうとしている会社も多いと言うことでしょう。

引き続き(もしくは永続的に)リモートワーク可なんて企業はだいぶ限られるんじゃないかなという気がします。

 

 

弊社は今のところ「各自の判断」ということにしています。

 

 

各自の考え方や事情もあると思うので、不安なら当面はリモート継続でいいし、リモートで不都合有るなら出社すれば良いという感じです。

 

 

そんな状況なので、やはり仕事上の連携は引き続きSlackを中心にとることになります。

 

f:id:gadgetterdog:20200609133935p:plain

 

前回はSlackのステータスをGoogleカレンダーで制御することを試してみました。

dogadget.hatenablog.com

 

 

それは今現在でも重宝しています。

 

ただ、「ステータス」はいいんですけど、家(社外)でPCを使っているときなどにSlackが起動していたりすると、「ログイン状態」ってやつが「アクティブ」とかになってたりするじゃないですか・

 

一応ステータスで「業務時間外」的なアピールはしているものの「でもいるんじゃん?」と思われるのもちょっと避けたいところです。

 

その都度「ログイン状態」を「アクティブ」から「離席中」に切り替えるとか、Slackを起動しておくのは業務時間内だけとかそういう方法で対応することも可能ですが、

 

 

手動でやるの面倒だからイヤ

 

 

となるのは大方の予想通り。

 

調べてみたところ「ずっとアクティブ」にするということは仕様上できないようですが、ステータス変更の時と同じような方法で「ずっと離席中」にしておくことは可能なようです。

 

 

確かに「サボっていてもバレないように」という意味では前者ゲフンゲフン

 

 

とりあえず「オン状態」の時にPCから離れるということもあり得るということでそこは考えないとして、「今はオフ」ということのアピールに全力を注ぐことにします。

 

 

そもそもSlackの「ログイン状態」の仕様は下記の通りのようです。

(アプリ、サイトへのサインインは済んでいるものとします。)

 

・デスクトップアプリを起動中は「アクティブ」

 →30分操作が無い状態が続くと「離席中」に変化

 

Webブラウザでアクセス中は「アクティブ」

 →30分操作が無い状態が続くと「離席中」に変化

 

・モバイルアプリを使用中は「アクティブ」

 →他のアプリに切り替えたり画面がロック状態になったら「離席中」に変化

 

モバイルの場合だけ「能動的にアプリを使用している」という状況がアクティブで、PCやブラウザは「操作自体がなくなったら離席」という判断のようですね。

まあ理にかなっているような気がします。

 

ということで、

 

 

PC(ブラウザ)を起動して操作している状態でもログイン状態は常時『離席中』

 

 

という形になるように「仕込み」をしていきましょう。

 

またSlack内の「アプリ」という機能を使うわけですが、新しくアプリを作る必要は無くて前回作った「ステータスを変更するアプリ」の権限を変更することで対応できそうです。

 

 

まずは前回同様こちらから始めます。

 

こういう画面になるはずなので、前回作ったアプリの名前部分をクリックします。

 

f:id:gadgetterdog:20200619134125j:plain

(拡大)

f:id:gadgetterdog:20200619134508j:plain



この画面になったら、左側の「OAuth & Permissions」をクリックします。

 

f:id:gadgetterdog:20200619135138j:plain

 (拡大)

f:id:gadgetterdog:20200619133917j:plain 

 

この画面になったら前回同様下の方の「Scopes」までスクロールします。

 

f:id:gadgetterdog:20200619135334j:plain 

 

(下へ)f:id:gadgetterdog:20200619133929j:plain

 

前回同様下側の「User Token Scopes」に「ログイン状態」を変更するための権限を付加します。

 

f:id:gadgetterdog:20200619133933j:plain

 

 「Add an OAuth Scope」をクリックしましょう。

f:id:gadgetterdog:20200619133937j:plain

 

 

users:write」を選択します。

f:id:gadgetterdog:20200619133942j:plain

 

ここに今選択した「users:write」が表示されていればOKです。

f:id:gadgetterdog:20200619133946j:plain

 

ちなみに、前回選択した「users.profile:read」は、ステータスを変更するだけだったら特に必要なかったようですね。

それはそれでこのままにします。

 

一番上までスクロールして戻ったら、「Reinstall App」をクリックします。

 

f:id:gadgetterdog:20200619135801j:plain

 

この画面で「許可する」をクリックすればアプリに新たな権限が付加されます。

 

f:id:gadgetterdog:20200619135906j:plain

アクセストークンに変更はありませんが、あとで使うので控えておきます。

f:id:gadgetterdog:20200619140018j:plain

 

これでSlack側の準備はOKです。

次はIFTTTの方です。

 

f:id:gadgetterdog:20200609114416j:plain

 

※2020/09/15追記

IFTTT Proという有料版のサービスが新たに開始されるのに合わせて 、無料版の作成可能アプレット数が「3つまで」に変更になるようです。

無料版で使用する人は注意しましょう。

www.theverge.com

 

 

IFTTTにサインインします。

 

f:id:gadgetterdog:20200619133820j:plain



 

 

前回作ったやつを含め、このアカウントで作成したアプレットが並んでいるはずです。

 

f:id:gadgetterdog:20200619133824j:plain

 

 今回必要なのは下記の2つの動作です。

 

 1) スケジュール終了時に起動

  →業務時間外のログイン状態を「離席中」に固定

 

 

 2) スケジュール開始時に起動

  →業務時間中のログイン状態の挙動をSlackのデフォルトに戻す

   (アクティブと離席中を自動切り替え)

 

「いないよ」というアピールが主目的なので、「離席中」に固定する方を先に作ります。 

 

前回同様右上のアカウントのアイコン部をクリックし「Create」を選択します。

 

 

f:id:gadgetterdog:20200619140348j:plain

トリガーを設定しましょう。

f:id:gadgetterdog:20200609115222j:plain



 

今回もGoogleカレンダーをトリガーとして使います。

カレンダーは前回用意した勤務予定を登録したものを使うこととします。

 

f:id:gadgetterdog:20200609111917j:plain

 

 

 

ステータスの時は内容によって色々変えられるように、「特定のキーワードを含むスケジュールの終了時」というトリガーにしましたが、ログイン状態の場合は「アクティブ」か「離席中」だけなので、業務開始/終了だけ想定すれば良いと言うことにします。

今回は「勤務予定専用カレンダー」と言う前提なのでキーワード関係なく予定終了そのものをトリガーにします。

 

(専用のカレンダーを用意していない場合はキーワードをトリガーにすればよいということですね。)

 

 

f:id:gadgetterdog:20200609111926j:plain

 

ということで、「Any event ends」を選択します。

 

トリガーの設定画面はこんな感じにシンプルです。

 

f:id:gadgetterdog:20200623104453j:plain



 

今回は対象のカレンダーに登録されているすべての予定の終了時間がトリガーになるので、カレンダーの選択をすればとりあえずOKです。

 

次はアクションの設定です。

 

f:id:gadgetterdog:20200609115836j:plain

 

 

ここは前回と同じです。

Webhooksの「Make a web request」を選択します。

 

f:id:gadgetterdog:20200609111943j:plain

 

 

あとはリクエストを設定すればOKですが、ここもちょっとだけ違ってきます。

f:id:gadgetterdog:20200609111957j:plain

 

各項目に下記の通り入力します。

 

[URL]

https://slack.com/api/users.setPresence

 

[Method]

POST

 

[Content Type]

application/x-www-form-urlencoded

 

[Body]

token=(トークン)&presence=(ログイン状態)

 

 

(トークン)は前回と同じです。

先ほど控えたトークンを入れます。

 ※かっこは不要。

 

(ログイン状態)は下記の2つのどちらかを指定します。

※かっこは不要。

 

auto : ログイン中/離席中を自動で判断して切り替え

away : 離席中で固定

 

今回は業務終了時間がトリガーなので、「away」を入れることになります。

 

 

f:id:gadgetterdog:20200623104933j:plain

 

 

設定したら「Create action」をクリックします。

 

f:id:gadgetterdog:20200609112005j:plain

 

アプレットの説明と通知のON/OFFを設定して「Finish」を押せば完了です。

 

 

f:id:gadgetterdog:20200623105140j:plain

 

これで、Googleカレンダーに登録されたスケジュールに従って、「業務時間」終了に合わせてSlackのログイン状態が「離席中」で固定されるようになります。

前回の仕掛けによってステータスでも「業務時間外」にしてあれば併せて

 

仕事の時間は終わったからSlackは見ていないよ

 

というアピールが始まるという形です。

あらかじめカレンダーに予定さえ登録しておけばその都度の操作は不要というところがポイントです。

 

「業務時間中」にログイン状態を自動で変更させるように戻す場合は、Googleカレンダーのトリガー設定で「Any event starts」を選択し、アクションの(ログイン状態)の部分を「auto

にするだけです。

簡単です。

二つセットで設定しておけば良いと思います。

 

 

先に書いたようにSlackのログイン状態は「アクティブ」で固定することはできないので、

 

「本当はPCの前にいないけどいるように見せかけたい」

 

 

ということはできませんが、私の場合

 

 

業務時間外だから話しかけないでね

 

 

というアピールが目的なのでこれで十分でした。

「仕事をしているふりをする」とか「サボっていてもばれないようにする」とかそういうことよりも、仕事の「オン/オフ」を明確にして、プライベートの時間に仕事関連が飛び込んでくることを極力防ぎたいというそんな感じの意図です。

俗に言う「繋がらない権利」という部分の話かと思います。

リモートワークになるとそういうった「境目」が曖昧になりやすいですし。

 

ちなみに「アクティブ固定」は検索するととりあえず実現している人もいるようなので、必要な人は探してみてください。