読者です 読者をやめる 読者になる 読者になる

アニメイトラボ開発者ブログ

株式会社アニメイトラボの開発者ブログです


アニメイトラボ開発者ブログ

developer.animatelab.com


電話が苦手なCTOをSlackから電話で叩き起こす仕組みを作った

古きよき時代から来ました、まじめなSE、まじめにSE。CTOの小芝です。

私たちアニメイトラボは、メンバーをニックネームで呼ぶ文化を作っています。CTOはbashと呼ばれているのですが、そんなCTOを電話で気軽に起こす仕組みを作ってみました。

f:id:bash0C7:20151225022147p:plain

SlackのSlash Commandsという仕組みで、Slackの発言欄から /bashcall と打つと、CTOの「電話」にガチでコールします。幸いにも発生していませんが、障害対応時のエスカレーションを躊躇なく行えて便利です。

animateLAB Advent Calendar 2015 25日目の記事です。

緊急事態は意思決定者を抑えることが重要

障害発生時などの緊急事態では、「速攻で責任者を確保する」ことが重要です。

わたしのポジションはCTO。つまり、社内のエンジニアの中で最も大きな決断を下すことができるため、緊急時には躊躇なく電話してその場にフル活用して欲しいと思っています。

ただ最近、わたし自身、「電話に苦手意識」を持ちはじめています。電話では相手の反応がわからず会話のテンポが作れ無いことが多々あるためです。

対面でのトークであったり、SkypeGoogle Hangoutでのビデオ通話だと気軽にできるのですが、電話はどうにも使いこなせない感覚があります。

自分の観測範囲で電話を苦手とする人は、界隈のエンジニアを中心によく見かけるようになりました。普段仕事で電話を使わないアニメイトラボの技術職メンバーも同様であることが予想されます。

もちろん、リテラシーとしては全員電話を扱うスキルを持ち合わせています。障害発生時には必要な関係者や意思決定者を呼び出して迅速に対応することができます。

しかし、障害の際は時間との戦い。少しでも早く対処を行いたいところです。そこで、普段使っているSlackで普段使っているようなコマンド体系を使って、わたしを呼び出すことができるなら、気軽に呼び出せて業務が捗るのではないかと考えました。

コマンド一発でCTOを叩き起こす

アニメイトラボでは、「全社員のコミュニケーションツール」としてSlackを使用しています。このSlackには、Slash Commandsという機能があります。発言欄で/を打つとサジェストされるものです。

f:id:bash0C7:20151225022225p:plain

発言欄からコマンドを実行することで、例えばチャンネルへの出入りやリマインダーを設定など、様々なことができます。

標準で使えるコマンドはHelp Centerで解説があります。

Using slash commands – Slack Help Center

この他にも、Integrationの追加画面からカスタムのSlash Commandを定義することができます。

実現の仕組み

Google App ScriptにTwilioで私の電話番号に発信するスクリプトを登録しておき、/bashcallでそのスクリプトが実行されるようにしています。

このスクリプトGoogle App Scriptに流し込み、Webアプリケーション登録してURLを発行しておきます。

次にSlackのIntegrationからSlack Commandsを選び、/bashcall というコマンドで先ほど発行したURLが呼ばれるようにするだけです。

f:id:bash0C7:20151225022238p:plain

これによって、/bashcall コマンド一発でわたしの携帯に電話がかかるようになっています。

まだまだ終わりじゃない

冬休みの宿題として下記の5つに取り組んでみます。

  • 発信失敗・成功などの結果をこのコマンドのレスポンスとして返す
  • 誰がどのチャネルかが呼び出したのかをTwilioに読み上げさせ、自分宛にわかるようにする
  • 指定秒数でコールを打ち切るようにする
  • わたし以外のメンバーも電話で呼び出せるようにする
  • http://qiita.com/kyokomi/items/3e33702ecda25ba73416 を参照してGAE/Goでの仕組みに移行する

あわせて読みたい

このエントリーがanimateLAB Advent Calendar 2015の最後です。ぜひ改めて1日目から読み進めるとわたしたちについてより理解できると思います。

qiita.com

採用サイトにも様々な情報を掲載していますので、こちらもご覧ください。

recruit.animatelab.com