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デベロッパーの方

アステリア製品オンラインコミュニティ
Asteria Park

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

X ASTERIA Warpユーザーサイト

ASTERIA Warpユーザーの方

ASTERIA Warpユーザーサイト
Login

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

X ASTERIA Warpパートナーサイト

ASTERIA Warpパートナーの方

ASTERIA Warpパートナーサイト
Login

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

ページ先頭へ