8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

カレンダーの予定に連動してSlackのステータスを自動変更できるようにした話

Last updated at Posted at 2017-12-08

ヴァル研究所 Advent Calendar 2017の9日目は、昨日の内容の応用編です。

##忙しい方向け今北産業

  • 社内で日常的にSlackを利用しているため、このステータスをリアルタイムな状態と合わせたい
  • ステータスの手動変更は忘れることもあるし面倒なので自動化したい
  • カレンダーの予定に連動してirucaの更新ができるなら、Slackのステータスでもできるのではと考えやってみた

##背景とやりたい事
弊社では業務上のコミュニケーションツールとして日常的にSlackを利用しています。
Slackのステータスで在席や外出などの状況を表している社員も多いため、一声かける前にカレンダーかSlackのステータスを見るということがよくあります。

Slackのステータスを正として扱えればいいのですが、手動で変更していては忘れることもありますし、毎度変更するのも面倒です。そこで、カレンダーの予定の状態に連動して、Slackのステータスを以下のように変更させたいと思います。

  • 社内や外出での打ち合わせ中は「取込中」に
  • 社内の打ち合わせが終わったら「在席」に
  • 外出移動中は「移動中」に

##仕組み
カレンダーから予定の状態を検知して、Slackのステータスを変更する仕組みは、ほぼAuto iruca Powered by RODEM Ver.2.0の流用で、IFTTT上で構築しています。

  • 予定の開始は、Googleカレンダーの「Event from search starts(特定のキーワードを含む予定の開始時に反応)」トリガーを使用して、社内外の打ち合わせや移動の開始を検知します
スクリーンショット_2017-12-05_19_25_11.jpg
- Which calendar? ``参照したいカレンダー(アカウント)の指定``
- Keyword or phrase ``どんなキーワードの入った予定に反応させたいか``
- Time before event starts ``イベント(予定)開始の何分前に通知を出したいか``


- 予定の終了は、Googleカレンダーの「New event from search ends(特定のキーワードを含む予定の終了時に反応)」トリガーを使用して、社内打ち合わせの終了を検知します スクリーンショット_2017-12-07_20_08_30.jpg - Which calendar? ``参照したいカレンダー(アカウント)の指定`` - Keyword or phrase ``どんなキーワードの入った予定に反応させたいか``

- Slackのステータス変更はwebhookトリガーを使用 スクリーンショット_2017-12-04_17_49_49.jpg - URL ``https://slack.com/api/users.profile.set`` - Method ``POST`` - Content Type ``application/x-www-form-urlencoded`` - Body ``token=トークン&profile={"status_text":"テキスト","status_emoji":":絵文字コード:"}`` - トークンは[こちら](https://api.slack.com/custom-integrations/legacy-tokens)でgenerateできます - 絵文字コードは[チートシート](https://www.webpagefx.com/tools/emoji-cheat-sheet/)からお好きなものを

- ステータスには絵文字も入れておくと、タイムライン上でもわかりやすいかと思います - 在席 :office: `` "status_text":"在席","status_emoji":":office:"`` - 取込中 :two_men_holding_hands:`` "status_text":"取込中","status_emoji":":two_men_holding_hands:"`` - 移動中 :rocket: `` "status_text":"移動中","status_emoji":":rocket:"`` スクリーンショット 2017-12-07 19.19.45.png

##まとめ
・Slackのステータスもカレンダーの予定に連動するようになりました
・カレンダーに予定さえ入れていればステータスが自動変更されるので、変更し忘れを防いだり、手間を減らすこともできる

##参考にした記事
Slackのステータス変更APIの仕組みは下記を参考にさせていただきました
オフィスにいる間は、Slackのステータスを自動で会社の絵文字にする

8
9
0

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
  3. You can use dark theme
What you can do with signing up
8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?