Speee DEVELOPER BLOG

Speee開発陣による技術情報発信ブログです。 メディア開発・運用、スマートフォンアプリ開発、Webマーケティング、アドテクなどで培った技術ノウハウを発信していきます!

SlackStatus とGoogleCalendarの同期をしてみた

こんにちは、Speeeトレーディングデスク事業の長山(cho3)と申します。

広告運用者として、GoogleAdWordsやFacebook広告をはじめとする運用型広告の運用を行ったり、 広告配信結果集計のツール(社内向け)のディレクションをしたりしています。 非エンジニアです。

今回は社内のコミュニケーションツールであるSlackと、 同じく社内でスケジュール管理に使用されているGoogleCalendarを連携した、 コミュニケーションの最適化を行いました。

Slack Statusとは

Emojiとメッセージで自分の今の状況を知らせる機能です。

最近機能としてアップデートされたようで、 社内でも好きなemojiや某野球ゲームの調子のアイコンのようなものなど、遊ばれています。

Slackでステータスの設定が可能になった(ミーティング中、休暇中、移動中、etc) | TechCrunch Japan

http://jp.techcrunch.com/2017/04/14/20170413custom-status-messages-are-coming-to-slack/

モチベーション

Slackにおけるコミュニケーションの相手が、今何をしているのか確認するために、 GoogleCalendarを見に行くという事が面倒で、全部Slackで完結すればいいのにと思っていました。

出来たもの

自分のGoogleCalendarに「スケジュールが存在する場合(場所あり)」「スケジュールが存在する場合(場所なし)」「スケジュールが存在しない場合」 の3パターンで、以下のようにStatusが自動で変わります。

↓ 予定がある場合(場所の予約無し)

f:id:numabe:20170424101717p:plain

↓ 予定がある場合(場所の予約有り) → @ で場所が表示されます

f:id:numabe:20170424101719p:plain

↓ 予定が無い場合 / 限定公開の予定が入っている場合

f:id:numabe:20170424101718p:plain

何が便利か

コミュニケーション相手の状況を瞬時に把握することが出来、 コミュニケーションの質を改善出来ます。

f:id:numabe:20170424102059p:plain

コード

こちらにて公開しています。

https://github.com/masayukinagayama/imananishiton

現在時刻と現在時刻の1分後の間に存在するスケジュールを取得し、 Slack status としてpushするプログラムです。

GoogleAppsScriptの分トリガーを使用することで、1分毎に実行を行うことが出来、 擬似的なリアルタイム更新を可能にしています。

imananishiton.gs内の以下の変数に「メールアドレス」と「Slackのtoken」を入力するようにして下さい。

  • var email = ‘xxxxx’;
  • var token = ‘xxxxx’;

また、GoogleAppsScriptのトリガーにて、以下の通り設定を行って下さい。

  • 実行:myFunction
  • イベント:時間主導型/分タイマー/1分ごと

tokenは以下にて発行が可能です。

Legacy tokens | Slack

https://api.slack.com/custom-integrations/legacy-tokens

imananishiton.gs をGoogleAppsScriptに貼るだけなのでカンタンです。誰でも出来ます。

是非使ってみて下さい。

所感

エンジニアが書くコードは美しいですが、身の回りの効率化に関しては、 別にコードが美しくある必要は無く、 エンジニアがコーディングする必要も無いと考えています。 (もちろん美しいに越したことは無いですが…)

GoogleAppsScriptは導入ハードルが低いため、非エンジニアがプログラミングを始める良い機会になり、また誰もが 「テクノロジー」 をソリューションの一つとして捉える事が出来るようになります。

  • エンジニア = プログラミングする人たち
  • 非エンジニア = プログラミングしない人たち

だとツマラナイので、みんなでコーディングしましょう、という話です。

Speeeトレーディングデスクでは、広告配信の結果を毎日Slackに飛ばし、 異常値をアラートとして全員が検知できるような環境を整えていますが、 今後は、よりそれをカスタマイズ性の高いものにし、 より顧客満足度を高められるような動きが取れればと考えています。

ありがとうございました。