プログラミングを知らない人でもOK!カスタム Slack アプリを開発する方法

日々の仕事の時短化機能を作る

A copy customizing an ice cream order
Image Credit: Pete Ryan

Slack は、組織全体で仕事を共有する中心として優れた能力を発揮します。これには会社で使う様々なアプリの情報も含みます。現在、Slack の App ディレクトリには 1,000 件以上の Slack 用アプリがありますが、あなたの仕事にぴったりなツールやワークフローはまだ、あなたの頭の中にしかないかもしれません。

Sign with Slack colors around border that says Office Hours Get Better at Slack in JapaneseSlack アプリを使えば日々、時間もエネルギーも節約できます。単純な繰り返し作業を思い浮かべてください。例えば、何かを調べて情報をコピー&ペーストし、それを Slack チャンネルに手入力で投稿するといった数分の時間がかかる作業です。このような作業は、ボットアプリにお願いしましょう。

Slack ユーザーの中にはカスタムアプリを作っている人が多くいますが、アプリを作るにはソフトウェア API の専門スキルが必要です。では、プログラミング言語や Web プロトコルをマスターする時間がない人にはできない話なのでしょうか?大丈夫。方法ならいくつもあります。

「自家製」アプリの既製サンプル

Glitch は、あらゆるアプリのコードを共有する人気のサービスで、Slack 用のオプションも数多く含まれています。Glitch のプロジェクトはすべてコードが公開されており、ユーザーが自由にコピーすることも、必要に応じて書き換えることもできます。Slack 用のアプリを Glitch で検索すれば、あなたが必要としている機能をすでに誰かが作っているのを見つけ、それをそっくりコピーしてアプリに組み込めるかもしれません。

 

試しに、私たちは  Howdy と一緒にシンプルな専用アプリを開発しました。例えば、チーム全体の状況を把握したい時に、メンバー全員にひとりずつ聞いたり、Slack の全員のプロフィールをクリックしたり、リクエストのチャンネルを投稿でパンパンにしたくはありません。そんな時はステータスボットに status  という単語を付けて DM を送信すれば、チーム全体のカスタムステータスがわかります。このボットを使うには、Glitch 内のこのプロジェクトをコピーし、説明に従ってチームにインストールするだけです。また、追加のコマンドを組み込んで拡張すれば、プロフィールから別の情報を得ることもできます。2 つ目のサンプルコマンドでは、timezone  を追加しました。

 

Two examples of how to use Slack status bot

ステータスボットはシンプルで便利

メールでフォームを送信する

一般的な企業では、特定の社内チームに備品や消耗品の調達を依頼します。 Wufoo や Typeform のようなフォーム作成ツールと、すべての有料チームで利用できる email-into-Slack 機能を組み合わせると、Slack でいとも簡単に依頼できます。

従業員から該当情報を集めるためのフォームを作成し、その回答が特定の Slack チャンネルのメールアドレスに届くように設定します。フォームの回答は Slack に自動的に投稿され、そこで依頼について会話ができます。シンプルな絵文字リアクションを使えば、誰かがリクエストを見ていることや、承認されたことがわかります。

 

Visiting employee form

Visiting employee information in integration when form is submitted

出張してきたスタッフを他のオフィスに通知するために Slack で使っている Wufoo フォーム

 

自分のディレクトリを監視する

Zapier は、Slack を含む様々なアプリが互いに対話できるように設計された柔軟なサービスです。例えば、誰かがチームのクラウドストレージにファイルをアップロードした時に通知を自動的に送ることができます。

 

Image showing box plus Slack logo with blue background

 

Zapier でアカウントを作成したら、レシピ (呼び名は Zap) を作成して、Google ドライブ、Box、Dropbox のいずれかのアカウントのディレクトリに作成した新しいファイルを Slack チャンネルの通知にリンクします。

 

Image showing how the Zapier app integrates with a spreadsheet and an image

 

例えば、新しいモックアップが Box や Dropbox の Project X ディレクトリにアップロードされたら #design-team に通知するように設定しておきましょう。業務グループがデータのスプレッドシートを手作業で定期的に共有しているなら、新しい Google スプレッドシートを Google ドライブの四半期レポートディレクトリに保存した時に #bizops チャンネルに投稿されるように自動化しておくことで、今後もずっと時間を節約できます。

ミッションによるカスタムフロー

複雑なワークフローでもプログラミングせずに作成できるように、最近 Slack でミッションという新しいサービスを始めました。

ミッションを使用すると、Slack でフォームを使って情報を集めることも、チームのメンバーが仕事を引き継ぐことも、何かが承認・却下された時に他の人に通知する承認フローを作成することもできます。さらに、Slack で特定のアクションを行った時にミッションを自動的に起動させることも、Zapier と同様に、外部サービスからの新しいアクティビティに基づいてトリガーすることもできます。

どのように機能するか、具体例で説明しましょう。あなたの会社にいる 6 人の弁護士が Slack の 「#法務」 チャンネルを利用しているとします。新しい契約が PDF としてアップロードされるたびに、ミッションを使ってこのチャンネルの誰かに契約の審査を依頼するメッセージを送ります。また、審査後に最終的な署名を求める DM を弁護士に送ることもできます。契約が承認されると、「#法務」 にすぐさま報告されます。審査を行った弁護士が何らかの変更を求める場合は、却下ボタンをクリックし、契約書 PDF を最初にアップロードした人に DM を送って改訂を依頼できます。

今あなたが読んでいるこの記事も、ミッションを使って Slack の 「#editorial-pitches」 で提案・承認されました。次のスクリーンショットは、提案を送るためのフォーム、フォームと通知を表示するレシピ、チャンネルにポストされた最終承認メッセージの例です。

Image showing that the Missions app is saying that Matt has submitted a pitch

ストーリーピッチの入力フォーム、それを作成するミッションのレシピ、チャンネルに送られた最終承認メッセージ

 

Slack の App ディレクトリは、今のビジネスのほぼすべてのニーズを満たす 1,000 件以上のオプションを用意しています。しかし、もっと自分にぴったりの機能が必要な時や、毎日のささいな作業を数分でも手軽にしたい時に、ちょっとした機能を自分で作るのは、開発者でなくてもさほど難しいことではありません。

 

Matt Haughey は今、Zapier で 3~4 件のサービスを連携させて退屈なタスクを自動化することで頭がいっぱいです。

Slack is the collaboration hub, where the right people are always in the loop and key information is always at their fingertips. Teamwork in Slack happens in channels — searchable conversations that keep work organized and teams better connected.