自社が最高の成果を出せるよう Slack でカスタムアプリを構築している開発者は今や毎週 100 万人を超えています。そうしたアプリは、構築する組織と同じくらいユニークです。これまで私たちは、デジタルツールを Slack にまとめてビジネスを加速させる企業を数多く見てきました。Target、Starling Bank、Loblaw Digital など、さまざまなニーズも運営方式も異なるユーザー企業の皆さまが、社内のシステムをまたいでイベントを組み合わせ、リアルタイムでコラボレーションしています。
それらのツールによって社内での Slack の価値は増幅し、結果として組織におけるデータの整理やプロセスの自動化が簡単になります。ただ、カスタムアプリの構築は常に簡単なわけではありません。だからこそ今回、Slack は次世代のプラットフォームを発表しました。これはカスタムアプリを構築しやすくするツール、コンポーネント、サービスを備えたものです。この記事で紹介する内容について、さらに詳しくは Slack API サイトの最新セクションを参照してください。コマンドラインインターフェイス(CLI)をダウンロードできるほか、すべての新機能について使用方法を学べます。
開発者待望の Slack CLI が登場
これまでユーザーの皆さまからは、Slack アプリをよりスピーディかつ簡単に作成したいという声が届いていました。そこでこのたび、Slack アプリの構築体験を大幅に高める開発者用ツールセットをリリースしました。新しい CLI ツールとソフトウェア開発キット(SDK)です。
この Slack CLI では、Slack create
シンプルなコマンドを使って、新たなアプリ IDを作成したり、イベントサブスクリプションを管理したり、コードを自動生成したりすることができます。またアプリ作成のベストプラクティスに沿ったプロジェクトを作成できる最新機能も備えました。
さらにアプリをローカルで実行したり、さまざまな環境でテストしたりできるほか、自身の端末からコードを直接デプロイすることも可能です。これによって効率が高まると、開発者は Slack アプリの開発を大きなソフトウェア開発ライフサイクルのなかに組み込めるようになります。アプリマニフェストと組み合わせれば、Slack アプリの管理は完全自動化が可能になり、かつてないほど簡単です。そのため開発者はシステム間で構成パラメーターをコピーする必要がなくなり、目の前にあるアプリのコードに集中できるようになります。CLI とアプリマニフェストを継続的なインテグレーションパイプラインや、その他の自動化に連携させることも可能です。
新しい SDK は TypeScript を使って構築され、Deno ランタイムをターゲットにしています。幅広いプラットフォーム機能をサポートするだけでなく、オートコンプリートやコードのヒントなどのビルトイン機能を備えることで開発者の負担を減らし、生産性が高まるよう最適化しました。またデフォルトでセキュリティ保護された Deno のアーキテクチャ、ポータビリティ、 TypeScript のサポートを活用すれば、エンタープライズグレードのアプリを速やかに構築でき、コードを 1 行書くよりも簡単です。
Slack ファーストなアプリのデプロイがより素早く簡単に
Slack では今回初めて、Slack アプリだけでなくデータのホスティングも提供することになりました。これによって開発者は優れたカスタムアプリの構築に専念でき、管理者は Slack と同じインフラストラクチャを使ってそのアプリを安全に管理できるようになります。Slack ホスティングはオプションで、エンタープライズグレードのアプリに向けたフルマネージドのアドオンのため、管理者が完全に管理でき、よく使われる開発者用ツールと連携が可能です。
新しい SDK では管理者が承認したアプリをベースにカスタムアプリが構築されます。その際新たな管理者機能によって、ワークスペースのオーナーと管理者は、誰がアプリを構築してワークスペースにデプロイできるか管理することができます。さらに開発者は、アプリのコマンドにアクセスできるユーザーの指定も可能です。そのため、マーケティングチーム内の誰かが誤って本番環境にデプロイしたり、エンジニアがうっかり新しいマーケティングキャンペーンを立ち上げたりする心配はいりません。
まとめると、Slack アプリの開発が誰にとってもスピーディで、簡単で、見通しが利くものになるということです。Slack
CLI で新たなアプリを速やかに作成したり、ローカルマシン上であらゆるものを開発したり、TypeScript ベースの SDK を使ってすぐさまエラーを発見したり、自動化されたテストを実行したり、コードを全体的なソフトウェア開発ライフサイクルに組み込んだりすることが可能になります。コードを Git リポジトリに追加すると、コードのレビューを求めるパイプラインが立ち上がり、すべての段階を通過すると新しいコードがデプロイされるという状態も実現できます。
ワークフローで問題を解決
2 年前にワークフロービルダーをリリースした時に目指したのは、Slack のワークスペースにいる誰もが仕事を簡単に自動化し、チーム全体の生産性を高められるようにすることでした。それ以来、Hearst Media、DocuSign、McAfee などをはじめとするユーザー企業の皆さまによって 150 万を超えるワークフローが作成され、2 億回以上も使われています。このすべてにおいて、コードは 1 行も書かれていません。
私たちはこの手軽さを、より難しい問題を抱える開発者の皆さまにも提供したいと考えました。関数、ワークフロー、トリガーがあれば、自動化は簡単です。関数はデータベースのクエリや API の呼び出しなど単一のステップを定義するもので、それらはワークフローとしてコードへの組み込みが可能です。さらにチャンネル作成などネイティブの Slack 関数をワークフローにも含めることもできます。トリガーはワークフローが呼び出される方法を定義し、そこにはショートカットのようなコマンドや、アプリのメタデータに応答できるイベントが含まれます。
新しい Tables API では、Slack の管理対象インフラストラクチャで必要なすべてのデータを保管できるようになります。Tables には、想定される標準的な CRUD(作成、読み取り、更新、削除)操作がすべて含まれます。さらに運用の規模は問わず、状態を一時的に管理したい状況から、Slack で機能する完全なデータ分析システムを構築する場合まで対応が可能です。
これら機能を組み合わせると、API を呼び出す単純なラッパー関数を作成するだけでほかのツールへのアクセスを簡単に組み込めるようになります。また関数を Slack のビルトイン関数と一緒にグループ化すれば、新しいトリガーでワークフローを呼び出すことも簡単です。例えば休暇承認ワークフローでは、リクエストをデータ表に保管するトリガーとしてメッセージショートカットを使用し、API を呼び出してリクエストを自動生成し、承認チェーンの適切な人物にそのリクエストを送信します。このプロセスのあらゆる段階でリクエスト送信者は状況を確認でき、外部システムは最新の状態に保たれます。
パワフルな構築を始めましょう
新しい開発者用ツール、Slack 上のインフラストラクチャでのホスティング、カスタム関数を記述してワークフローとして簡単にグループ化できる機能を活用すれば、安全で拡張可能なカスタムアプリの構築と自動化はかつてないほど簡単です。また Slack では、小規模なスタートアップから何万人もの従業員を抱える大企業まで、あらゆる企業の皆さまの要望に応える管理ツールを用意することで、プラットフォームのセキュリティを確保してきました。
新機能を試してみたい人は、Slack API サイトの最新セクションを参照してください。CLI をダウンロードできるほか、すべての新機能について使用方法を学べます。使い方がわかったら、さっそくアプリを作成してカスタム関数を構築し、Slack の管理対象インフラストラクチャにデプロイする前に自身の開発マシン上で直接テストしてみましょう。
どんなアプリが生まれるのか楽しみです。