🚀

SlackマーケットプレイスでAIアプリを公開するまでの道のり

に公開

はじめに

「Party on Slack」というSlack上でChatGPT、Claude、Geminiなど各種AIと会話できるアプリを開発しているのですが、ついにSlackマーケットプレイスで公開できました!

審査期間(申請前準備)から承認まで約3ヶ月。その間にレビュアーから複数回のフィードバックを受け、様々な修正を行いました。

この記事では、審査期間での準備作業から実際のアプリテストでどんな指摘を受けて、どう対応したのかを共有します。これからSlackマーケットプレイスに申請する方の参考になれば嬉しいです。

対象読者

  • Slackマーケットプレイスへの申請を考えている方
  • Slackアプリを開発している方
  • AIを使ったアプリの申請事例に興味がある方

Party on Slackについて

まず、今回申請したアプリについて簡単に紹介します。

Party on Slackは、Slack上で各種LLMと会話できるアプリです:

  • OpenAI(ChatGPT)、Anthropic(Claude)、Google(Gemini)など複数のLLMに対応
  • ファイル要約、画像認識、音声文字起こしなどの機能
  • ユーザー自身のAPIキーを使用(BYOK: Bring Your Own Key)
  • メッセージ内容はDBに保存せず、セキュリティ重視

Party on Slack マーケットプレイス公開
Slackマーケットプレイスで公開中のParty on Slack

マーケットプレイス申請に踏み切った背景

実は、マーケットプレイスへの申請を決断したのには、重要な理由がありました。

Slack History APIの機能制限

2025年5月29日、Slackは非マーケットプレイスアプリに対して、以下のAPIメソッドのレート制限を大幅に強化すると発表しました:

  • conversations.history(チャンネルのメッセージ履歴取得)
  • conversations.replies(スレッド内の返信取得)

具体的な制限内容:

  • レート制限:1分あたり1リクエストまで(マーケットプレイスアプリはTier 3レート制限)
  • 取得件数の上限limitパラメータの最大値・デフォルト値が15オブジェクトに削減
  • 適用対象:Slackマーケットプレイス外で商用配布されるアプリ

適用スケジュール:

  • 2025年5月29日〜:新規アプリおよび既存アプリの新規インストールに即時適用
  • 当初:2025年9月2日から既存インストールにも適用予定
  • 延期:2026年3月3日に適用開始を延期

Party on Slackへの影響

Party on Slackは、スレッドの要約機能やコンテキストを考慮した会話機能で、これらのAPIを使用しています。制限が適用されると:

  • スレッド要約機能が実質的に使えなくなる
  • 会話の文脈を読み取る機能が大幅に制限される
  • ユーザー体験が著しく低下する

このため、アプリの基本機能を維持するために、マーケットプレイスへの申請を決断しました。

申請プロセスの全体像

Slackマーケットプレイスの申請は以下の流れでした:

【審査期間:8月〜10月】
1. 提出用書類の作成
   ↓
2. アプリのスコープ整理(各スコープの使用箇所を確認)
   ↓
3. ホームページの更新
   ↓
4. 使用方法の動画化(全機能を動画で説明)
   ↓
【アプリテスト期間:10月中旬〜11月初旬】
5. 初回申請(10月中旬)
   ↓
6. 1回目のフィードバック(プライバシーポリシー、言語統一など)
   ↓
7. 修正・再提出
   ↓
8. 2回目のフィードバック(スコープ、UI修正など)
   ↓
9. 修正・再提出
   ↓
10. 3回目のフィードバック(細かいバグ修正)
   ↓
11. 最終修正・再提出
   ↓
12. 承認!(11月初旬)

審査期間:約2〜3ヶ月アプリテスト期間:約2週間(フィードバック3回)でした。

審査期間(8月〜10月)

申請前の審査期間について、特に苦労したポイントを紹介します。

既存アプリの整理が大変だった

Party on Slackは2年前から存在していたアプリだったため、整理が非常に大変でした:

  • コードの棚卸し:どの機能がどのスコープを使っているのか、すべて洗い出す必要がありました
  • 使われていない機能の削除:長年の開発で追加された機能の中には、ほとんど使われていないものも
  • ドキュメントの整備:開発時のメモや仕様書が散在していたため、体系的にまとめ直す作業が必要でした

1. 提出用書類の作成

以下の書類を準備しました:

  • プライバシーポリシー:法務担当者との調整が必要で時間がかかりました
  • 利用規約:AI使用に関する免責事項の文言調整
  • サポートドキュメント:FAQ、トラブルシューティングガイドなど
  • セキュリティドキュメント:データの取り扱い、保存方法、削除手順など

2. スコープの徹底的な整理

各スコープがどこで使用されているのかを確認する作業は、最も時間がかかりました:

# 各スコープの使用箇所を検索
grep -r "conversations.invite" backend/
grep -r "files:read" backend/
grep -r "chat:write" backend/
# ... すべてのスコープについて確認

実施したこと:

  • スコープごとにExcelシートを作成し、使用箇所を記録
  • 使っていないスコープを削除(セキュリティ向上)
  • 必要なスコープについては、なぜ必要かの説明文を準備

3. ホームページの全面更新

ランディングページを最新情報に更新しました:

  • 機能説明の見直し(新機能の追加、非推奨機能の削除)
  • スクリーンショットの更新(全て最新のUIに差し替え)
  • ショートカット機能の説明追加
  • セキュリティ・プライバシーに関する説明の強化

4. 使用方法の動画化

全機能について操作方法を動画・画像で説明しました:

  • 基本的な使い方(AIとの会話方法)
  • ファイル要約機能
  • 画像認識機能
  • 音声文字起こし機能
  • ショートカット機能(Summarize thread、Draft reply)
  • 設定画面の使い方

動画は各1〜2分程度で、実際の操作画面を録画しました。

アプリテスト期間での主な指摘事項と対応(10月中旬〜11月初旬)

1. プライバシーポリシーの改善

指摘内容

レビュアーから以下3点の追加を求められました:

  1. ユーザーがデータ削除をリクエストする方法
  2. 具体的にどんな個人情報を収集しているか
  3. データをどのくらいの期間保持するか

対応内容

プライバシーポリシーに以下のセクションを追加しました:

収集する個人情報の明記:

Party on Slackアプリケーションにおいて、当社は以下の個人情報を収集します:

(1)識別情報
・Slackユーザー ID
・メールアドレス
・ユーザー名

(2)使用履歴情報
・アプリの使用日時
・使用したAIモデル名

なお、本アプリケーションは、ユーザーがAIとやり取りするメッセージ内容を、
データベースに保存いたしません。メッセージは処理後、即座に破棄されます。

データ保持期間:

当社は、収集した個人情報を、本アプリケーションがSlackワークスペースに
インストールされている期間保持します。アプリケーションのアンインストール時に、
収集した個人情報は自動的に削除されます。

データ削除リクエストの手順:

個人情報の削除を希望される場合は、以下の方法でご請求ください:

(1)アプリケーションのアンインストール
Slackワークスペースから本アプリケーションをアンインストールすることで、
収集された個人情報は自動的に削除されます。

(2)個別の削除請求
アンインストール以外の方法で個人情報の削除を希望される場合は、
お問い合わせ窓口までご連絡ください。

2. 多言語対応の一貫性

指摘内容

「アプリの説明、画像、動画、関連ページで使用する言語を統一してください」

最初は英語と日本語が混在していました:

  • アプリ説明:英語
  • ランディングページ:日本語
  • スクリーンショット:英語

対応内容

レビュアーに確認したところ、「日本語にローカライズされているので、全て日本語に統一してください」とのこと。

以下を日本語に変更しました:

  • Short description
  • Long description(AI使用の免責事項も追加)
  • スクリーンショット(日本語版に差し替え)
  • Security & Complianceセクション

3. Long descriptionにAI免責事項を追加

指摘内容

「AIを使用しているため、不正確な応答を生成する可能性があることを明記してください」

対応内容

Long descriptionに以下のセクションを追加:

【重要:AI使用に関する免責事項】

本アプリケーションはAI技術を使用しています。AIが生成する回答は、
不正確または不完全な情報を含む可能性があります。重要な意思決定や
業務上の判断を行う際は、AIの回答内容を必ず人間が確認・検証してください。
本アプリケーションの使用によって生じたいかなる損害についても、
当社は責任を負いかねます。

4. スコープ(権限)の整理

指摘内容

「以下のスコープはどこで使用されていますか?使っていなければ削除してください」

ユーザートークン:

  • chat:write
  • files:read
  • channels:write.invite
  • groups:write.invite

ボットトークン:

  • groups:write
  • mpim:write
  • canvases:write
  • chat:write.customize

対応内容

コード内を確認して、実際に使用しているスコープを整理しました:

削除したスコープ:

  • files:read → bot tokenで十分
  • channels:write.invite / groups:write.invite → 使用していない
  • groups:write / mpim:write → 使用していない
  • canvases:write (bot token) → user tokenのみ使用
  • chat:write.customize → 使用していない

残したスコープ:

  • chat:write (user token) → 「Draft reply」ショートカットで必要

5. ランディングページにショートカット機能の説明を追加

指摘内容

「メッセージショートカットの使用方法を追加してください」

Party on Slackには2つのメッセージショートカットがあります:

  • Summarize this thread:スレッドを要約
  • Draft reply:返信案を自動生成

対応内容

ランディングページに以下を追加:

ショートカット機能

・Party on Slackの投稿に対してメッセージショートカットを使用できます。
・Summarize this thread:スレッドを要約(自分だけに表示、共有も可能)
・Draft reply:返信案を自動生成
・使い方:Party on Slackの投稿を右クリック→ショートカットを選択
・注意:Party on Slackが投稿したメッセージに対してのみ使用可能です。

6. UIの問題修正

指摘内容(複数回にわたって)

  1. Prompt Sharingボタンが動作しない
  2. 英語版のNon-lock user permissionボタンが動作しない
  3. ロック機能を一般メンバーも実行できてしまう
  4. 英語版のRSSフィードのチャンネル名が正しく表示されない
  5. Canvas作成中の状態が分からない
  6. カスタム絵文字を使用している

対応内容

Prompt Sharing / Non-lock permissionボタン:

→ 英語版モーダルのタイトルが文字数制限を超えていたのが原因。短縮して修正。

ロック機能:

→ アプリインストールユーザー、ワークスペースオーナー、管理者のみに制限。
ゲストユーザーも触れないように修正。

RSSフィードのチャンネル名:

→ チャンネル名の表示ロジックを修正。
プライベートチャンネルでアプリが参加していない場合は、ephemeralメッセージで通知。
プライベートチャンネル名は、メンバーでないユーザーには非表示に。

Canvas作成中の表示:

→ 「処理中...」というステータスを表示するように修正。

カスタム絵文字:

→ 全て削除(他のワークスペースで表示されないため)。

7. Security & Complianceセクションを日本語に

指摘内容

「一貫性のため、Security & Complianceセクションの情報を日本語で提供してください」

このセクションは ユーザー向け なので、申請言語に合わせる必要がありました。

対応内容

以下の項目を全て日本語に翻訳:

  • Data retention policy(データ保持ポリシー)
  • Data archival/removal policy(データのアーカイブ/削除ポリシー)
  • Data storage policy(データ保存ポリシー)
  • How do you host your data?(データのホスティング方法)
  • LLM data tenancy policy(LLMデータテナンシーポリシー)
  • LLM data residency policy(LLMデータ所在地ポリシー)
  • LLM retention settings(LLM保持設定)
  • Data deletion procedures(データ削除手順)

8. その他の細かい修正

Salesforce/Asana認証ボタンの削除:

→ 利用頻度が低かったため、機能ごと削除。
これによりインタラクティビティエンドポイントのエラーも解消。

RSSフィード登録後の表示:

→ ホームタブに登録済みフィードのリストを表示(非ブロッカーの推奨事項)。

ボタンのエンドポイント設定:

→ リダイレクト系ボタンにもインタラクティビティエンドポイントを設定。

技術的な学び

1. Claudeのプロジェクト機能を活用

今回の申請プロセスでは、Claudeのプロジェクト機能を最大限に活用しました:

プロジェクトに入れた情報:

  • Party on Slackの仕様書:アプリの機能、スコープの使用箇所、APIエンドポイント一覧など
  • レビュアーからのメールすべて:過去のフィードバックを参照しながら対応
  • プライバシーポリシー・利用規約:修正履歴を追跡

活用方法:

  1. 英語メールの翻訳

    • レビュアーからの英語メールを正確に理解
    • 返信文の作成と確認
    • ニュアンスを保った丁寧な英文作成
  2. スコープとコードの確認

    • MCPを統合したClaudeでコードベース全体を検索
    • 「このスコープはどこで使われている?」と質問するだけで、使用箇所を一覧化
    • 不要なスコープの洗い出しが効率的に
  3. 一貫性のある対応

    • 過去のフィードバックを参照しながら修正
    • レビュアーの指摘に漏れなく対応
    • 修正履歴の管理

2. プライバシーポリシーは詳細に

「メッセージ内容は保存しない」というセキュリティの強みは、プライバシーポリシーに明記することで信頼性が上がります。

3. スコープは最小限に

使っていないスコープは必ず削除しましょう。コード内検索で確認:

# 例: conversations_inviteを使っているか確認
grep -r "conversations_invite" backend/

MCPを使ったClaudeなら、自然言語で質問するだけで使用箇所を特定できます。

4. 多言語対応は最初から計画的に

後から言語を統一するのは大変です。最初から:

  • 申請言語を決める
  • 全ての資料を同じ言語で準備
  • 画像のテキストも統一

5. レビュアーとのコミュニケーション

質問があれば遠慮なく聞きましょう。私も以下を確認しました:

  • 「画像を日本語にすべきか、英語版ページを作るべきか?」
  • 「OpenAI APIキーだけでテストできますか?」

レビュアーは丁寧に答えてくれました。

6. 旅行前に伝える

海外旅行など返信が遅れる可能性がある場合は、事前に伝えておくと良いです:

Note: I'll be traveling abroad for about a week, 
so my response time may be a bit slower than usual.

承認完了!

すべての修正を完了し、最終的にマーケットプレイスでの公開承認を受けることができました!

パブリッシュ承認画面
Slackマーケットプレイスでの公開が承認されました

長い道のりでしたが、レビュアーのフィードバックのおかげで、アプリの品質を大幅に向上させることができました。

まとめ

Slackマーケットプレイス申請は、審査期間も含めると想像以上に時間がかかりますが、その分アプリの品質向上に繋がりました。

審査期間(申請前の準備が最も重要):

  1. 早めに着手する:審査期間だけで2〜3ヶ月かかると想定しておく
  2. 既存アプリは大規模な整理が必要:スコープの洗い出し、不要機能の削除など
  3. 法務担当者との調整:プライバシーポリシーは1〜2ヶ月前から準備
  4. ドキュメント・動画の作成:全機能について説明資料を用意

アプリテスト期間での対応:

  1. スコープは必要最小限に(使用箇所をすべて説明できるように)
  2. 多言語対応は一貫性が重要(全ての資料を同じ言語で)
  3. UIは別ワークスペースで十分テスト
  4. レビュアーとのコミュニケーションを大切に
  5. AI使用の免責事項を明記

タイムライン目安:

  • 審査期間(申請前準備):2〜3ヶ月
  • アプリテスト期間:2週間〜1ヶ月(フィードバック回数による)

これからSlackマーケットプレイスに申請する方の参考になれば嬉しいです。

Party on Slackはこちらからインストールできます:

今後の展開

マーケットプレイスでの公開が完了し、次のステップに進んでいます。

Slackアシスタント機能への対応

2025年10月のDreamforceで、Slackは新しい「アシスタント機能」を発表しました。これは、AIアプリやエージェントをSlackのデスクトップアプリ右上に表示し、ユーザーが簡単にアクセスできるようにする機能です。

主な特徴:

  • アシスタント表示エリア:Slackデスクトップの右上にAIアシスタントが表示される専用エリア
  • サードパーティ統合:マーケットプレイスアプリもアシスタントとして登録可能
  • コンテキスト理解:企業内のデータやSlackの会話コンテキストを理解した応答
  • 管理者制御:ワークスペース管理者がアシスタントの表示を制御可能

Party on Slackのアシスタント対応

現在、Party on SlackをSlackアシスタントとして登録できるよう、対応を進めています:

実装予定の機能:

  1. アシスタントUIでの表示

    • Slackデスクトップアプリの右上から直接アクセス
    • チャンネルに投稿せずにプライベートに会話
    • より自然なAIアシスタント体験
  2. コンテキスト連携の強化

    • 現在開いているチャンネルの情報を自動参照
    • ワークスペース全体の情報を活用した回答
    • プロジェクト背景を理解した提案
  3. 既存機能との統合

    • アシスタントから既存のショートカット機能を呼び出し
    • チャンネル投稿とアシスタント会話のシームレスな切り替え
    • ファイル要約・画像認識機能もアシスタント内で利用可能

進化するSlackのAIエコシステム

Slackは「エージェンティックなオペレーティングシステム」として、AIエージェントとCRMデータを統合し、企業の生産性向上を目指しています。

Party on Slackも、このエコシステムの一部として、より自然で文脈を理解したAIアシスタントへと進化していきます。

参考リンク

リバナレテックブログ

Discussion