Googleカレンダーの予定をSlackステータスに連携!― ナガタのRPA体験記

Googleカレンダーの予定をSlackステータスに連携!―ナガタのRPA体験記

こんにちは、ナガタです。

全社テレワークになってからあっという間に1年が経ちました。
アステリアでは4月からも全社テレワークが継続され、さらに全社スーパーフレックス勤務が導入されました!
つまり、毎月決まった時間分働けば、10時間勤務の日があっても2時間勤務の日があってもOKです。好きな場所で好きな時間に働けるようになったんですね~。自由!

そうなると誰がいつどこで働くかわからなくなるので、Googleカレンダーに勤務時間や出社状況などを入力して共有するようにしています。

テレワーク 8:00~15:30

でも、軽く話かけたいだけなのに「今勤務中かな?」「出社してるかな?」とわざわざGoogleカレンダーで調べるのはちょっと面倒…。

ということで、Slackステータスを活用してみました!

アステリアでは社内のコミュニケーションツールにSlackを使っているので、Slackでメッセージを送る前にその人のステータスをチェックすれば勤務時間内かどうか、出社しているかどうかを確認することができます。

SlackにGoogleカレンダーアプリを追加する

SlackにはGoogleカレンダーと連携するためのアプリがあるので、こちらをインストールしてみます。

そうすると、ステータスが下のように変わりました!

ステータスが変わった!

予定の詳細まではステータスに反映されない…

でも、ステータスは「In a meeting • Google Calendar」で固定になっている。うーん、会議中じゃなんだよなぁ。それに休暇予定もカレンダーに登録しているから、休みなのか仕事中なのか判断できないよ。

もっと予定に合わせてステータス内容を変えられるアプリないかな?
…う~ん、なさそう。ないならASTERIA Warpで作っちゃおう!

ASTERIA Warpで理想のSlack-Googleカレンダー連携を実現!

Googleカレンダーから予定を取得して、その内容をもとに勤務時間や休暇情報をSlackステータスに表示される処理をつくります!

テレワーク 9:00~15:30 ステータスを変更!

処理の流れ

処理の流れは大きく分けて2つ。

  1. Googleカレンダーから予定を取得
  2. Slackステータスを変更

Googleカレンダー連携の事前設定

Googleカレンダーからの予定取得はASTERIA WarpのGoogle Calenderアダプターを利用すれば簡単に取得ができます!

Slack連携の事前設定

Slackステータスは、Slack APIを使うとできそうです。

今回は手軽に連携できそうなトークンを利用したステータス変更を行ってみます。

まずは、Slack APIを使うためにSlackアプリを作成します。

作成されたアプリ > 「Create New App」をクリックして、必要な情報を入力します。

Create a Slack App

アプリの詳細ページから「OAuth & Permissions」>「Scope」でUser Token Scopesに”users.profile:write”を追加。

その後、「OAuth & Permissions」>「OAuth Tokens & Redirect URLs」で”Install to Workspace”をクリック。

Oauth Permissions

取得した「User OAuth Token」をコピーして保存しておきます。

これでSlack側の設定は完了です。

 

処理の作成

それではフローの作成です!

フロー図

こんな感じでシンプルなフローになりました。

「スケジュール取得」のGoogleCalendarGetコンポーネントでは、取得したいカレンダー項目を選択するだけで簡単にスケジュールの取得ができます。

SQLビルダー

「ステータス変更」のRESTコンポーネントでは以下のように設定しています。

URL:https://slack.com/api/users.profile.set
HTTPメソッド:POST
URLパラメータ:token, profile

URLパラメータのtokenではSlackアプリ設定で取得した「User OAuth Token」を指定します。

「JSON作成」のMapperコンポーネントでは、カレンダーの予定ごとにJSON形式のテキストを出力しています。

データプロパティの編集

ステータステキストをカレンダーのタイトル、ステータス絵文字は状況に合わせて変えていて、例えばテレワークならお家の絵文字になるようにしました。

このJSONデータをURLパラメータのprofileにマッピングします。

 

結果を確認

実行すると…

ステータスを変更

無事にステータスが変更されました~。これを毎朝8時に更新するように実行設定すればOKです。

 

最後に

いかがでしたか?今回はGoogleカレンダーの予定をSlackステータスに連携してみました。

テレワークだと相手の様子がわからず話しかけていいか不安になりますが、個人の勤務状況をわかりやすく伝えることでコミュニケーションのハードルが少しでも下がると嬉しいですね。



クラウド版

手ぶら de ASTERIA Warp
体験 5日間を申し込んで
Google Workspaceとの連携を試そう

サーバー準備の手間なくデータ連携ツール「ASTERIA Warp」の
全ての機能を5日間お試しいただけます。

今すぐ体験してみる 書籍の詳細についてはこちらをご覧ください。
基礎と実践 使い方マニュアル
著者:鈴木 柚花

著者:
鈴木 柚花

ASTERIA Warpのプリセールや体験セミナー講師を担当しつつ技術から営業スキルまで、上司の下で日々勉強中の通称”ナガタ”です。

「ASTERIA Warp、データ分析、クラウド、業務効率化、最新技術」人気!ホワイトペーパーダウンロード受付中!今すぐチェック
ASTERIA Warpと色々つないでみた特集!記事はこちら>

ASTERIA Warp 関連サイトのご紹介

X ASTERIA Warp Developer Network(ADN)サイト

技術情報をお探しの方

ASTERIA Warp Developer Network
(ADN)サイト

ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。

X ASTERIA Warpユーザーグループ(AUG)

ASTERIA Warpデベロッパーの方

ASTERIA Warp オンラインコミュニティ
ADN slack

ASTERIA Warpデベロッパー同士をつなげ、技術情報の共有やちょっとしたASTERIA Warpの疑問解決の場とすることを目的としたコミュニティです。

X ASTERIA Warpユーザーサイト

ASTERIA Warpユーザーの方

ASTERIA Warpユーザーサイト
Login

製品更新版や評価版のダウンロード、各種ドキュメントのご提供、また 技術的なお問合せもこちらで受付ています。

X ASTERIA Warpパートナーサイト

ASTERIA Warpパートナーの方

ASTERIA Warpパートナーサイト
Login

パートナーライセンスの発行や各種ドキュメントのご提供をしています。

ページ先頭へ