
Slack MCPとClaude Coworkで提案書作成を半自動化してみた
こんにちは。AI事業本部 生成AIインテグレーション部の児玉です。
普段は生成AIコンサルタントとして、お客様へのLLM・生成AI活用の提案や伴走支援(コンサルティング)、PM業務をしています。
突然ですが、皆さんはAIを活用して提案書作成行っていますか?また、“いい感じ”に提案書作成できていますか?
今やAIの力で提案書作成も楽になってきたとはいえ、なんだか現場ではワークしなさそうな雰囲気はまだまだ感じますよね。(言うべきことが言えてないとか)
どのようにすれば、AIを使って“楽に”・“いい感じ”に提案書作成ができるのか。
私は、その答えは『コンテキスト管理』に隠れているのではないかと思っています。
実は、ここ最近Slackに案件情報を積んでおきながらSlack MCP経由でClaude Coworkに読ませ、案件整理から提案書スライドの作成までを半自動化する運用を組んでみたところ、かなりワークすることがわかりました。
この記事ではその全体像と、それぞれの設定概要を紹介します。
はじめに(前提)

この記事は『Slack』『Claude』『PowerPointまたはGoogle Slide』を使用している方にとっては、そのまま参考にしても役に立つ構成となっています。
私が構築している提案書作成フローでは前述のリソースを扱っているからです。
ただ、「“コンテキスト(文脈)”をどこから引っ張ってくるのか」という本質的なアプローチについては、多くのAIユーザーにとって当てはまるものになっていると思います。
また、本記事で扱う『AI』という言葉の意味は、広義のそれではなく『生成AIおよびAIエージェント』のことを指しています。
ぜひ最後までお読みいただけると幸いです。
その上で、本節では“何をしたいのか”を概要としてまとめています。
AIに提案書スライドを作らせたい
そもそも、手作業で提案書は1本つくるとしたら数時間かかります。AI(LLM)が登場する前は、案件整理から骨子、構成、スライド化まで手作業でやると3〜5時間コースだったのが普通でしたね。
私は、その本質的な問題は、所要時間そのものよりも“その間ほかの作業が止まること”だと思っています。
提案書づくりは途中で手を離すと文脈(コンテキスト)を失うタイプの作業なので、もし日を跨いだり別案件の対応のために手を離してしまうと、端的にスイッチングコストが高いのです。
つまり、まとまった時間をブロックする必要があります。
一方で、提案書づくりの工程を分解してみると、人間の判断が必要なのは以下の4点に絞られると思います。
- 顧客の問題~課題は何か、という定義
- 課題に対して何を提案するか
- 何が顧客にとって嬉しいのか
- いくら(費用)で出すか
逆に、提案骨子を文章にする、構成をスライドに起こす、体裁を整える、といった工程は手作業である必要がありません。
今回のアプローチはこの作業をAIに渡すものです。
AIにコンテキスト管理を任せたい
もう一つの動機は“コンテキスト管理”です。
案件が増えてくると、議事録・お客様の発言・宿題・金額の経緯といった情報が脳みそに入り切らなくなります。さらに、情報そのものよりも「あれどこに書いたっけ?」を思い出すコストが意外にも高いというのが厄介な点です。
つまり、提案書作成という作業ひとつをとっても“認知負荷”が邪魔をしてくるということ。
これに対する私の対策は、「情報をAIが読める場所に、読める形で置いておく」です。
こうすることで、認知負荷そのものをAIに請け負ってもらえるので、簡単に言えば人間は楽をすることができますし、マルチタスクをしやすくなります。
人間側が忘れても「この案件どうなってたっけ?」とAIに聞けば良くなるからです。
SlackとClaudeを連携すると何が嬉しいのか

成果物を作るために必要なコンテキスト(議事録・お客様の発言・宿題・金額の経緯といった情報)の置き場の選択肢としては、ファイルサーバやNotion、Google Driveなどもあります。
私がSlackを選んだ理由は単純で、案件の情報が発生する場所がそもそもSlackだからです。
議事録の共有、社内の壁打ち、営業とのやり取りは全部Slackで起きています。発生した場所にそのまま置けば、どこかに情報を転記するという作業自体が消えるので、Slackをデータレイク化しちゃおうという魂胆です。
本節ではその嬉しさ(メリット)について噛み砕いて解説します。
参考(データレイクについて)
コンテキスト管理が楽になる
私は1案件につき1スレッドを立てて、そこに議事録・受領資料・メモを時系列で積んでいます。ここでは「整理」と呼べるほどのことはしておらず、発生したものを上から順に積むと言った感じの運用をしています。(添付の画像参照)

そして、このスレッドに案件の全履歴を揃えていくことで、AIに適切なコンテキストを渡す前提が揃っていきます。
ClaudeにはスレッドのURLを1つ渡すことで、Slack MCPを経由して情報を読み込んでくれますし、人間側にとっても「この案件のことはこのスレを見ればいい」で済むようになります。
これすなわち“コンテキスト管理が楽になった”という状態でしょう。
AI Readyな情報整理がしやすい
SlackとClaudeを連携をすると嬉しいポイントとして、「AI Ready」な情報整理がしやすくなるというのがあります。
ここで言う「AI Ready」という言葉を私は次の3点で定義しています。
- アクセスしやすさ: 検索で見つかること
- 質の高さ: 生の情報が残っていて、それを適切に参照できること
- ダイナミックさ: 情報に時系列があり、適切に変化を追えること
Slackスレッドで情報を管理すると、この3点を簡単に満足すことができます。
私の運用の場合、スレッドの起票メッセージを【案件スレッド】社名 案件名という命名で固定しています。こうしておくと、Slack検索でもClaudeからでも「案件スレッド」という文字列で簡単に検索をすることができます。
また、スレッドに都度更新されていく情報(商談・やりとり・その他)をまとめることで、生の情報を時系列ベースで管理することができます。(添付画像参照)

もう一つのコツは、議事録やお客様のメールなどの原文(生データ)を捨てずに残しつつ、LLMが最初に読む情報は“データ整形”された状態にしておくことです。
生の情報は重要な一次情報ですが、往々にして余計なコンテキストをはらんでおり、そのままLLMに渡すとハルシネーションや期待外れのアウトプットに繋がります。(非構造化データによるデータノイズ)
しかし、金額の経緯や発言の細かなニュアンスを確認したいときには、生の情報そのものも参照したい。このジレンマに対して、私は「LLMに読ませる用の整形済みデータと、確認用の原文を同じスレッドに並べて置く」というアプローチを取っています。
こちらについては後ほど『コンテキストとしてのSlackスレッド運用』にて解説しているので、詳細はこちらを参照ください。
関係者のフィードバックを反映しやすくなる
嬉しい点3つ目としては、フィードバック反映のしやすさが格段に上がるということです。
提案書の作成に至るまで、営業担当や同席・アサイン予定のメンバーなど、案件の関係者との会話をする機会があるかと思います。(要件整理や見積もり金額相談など)
できればその会話も情報として取り込みたいですよね。
そんな時、私が運用しているスレッドの中で関係者同士の会話をすると、骨子や金額感の情報がその場に情報として残り、AIエージェントへ渡すコンテキストの一つになるのです。
実際に私が経験した例だと、ある案件で骨子v0をスレッドに貼って営業メンバーにレビューを依頼したところ、「初期構築まで弊社側でやる記述になっているのは想定外だから外せ」という指摘をいただきいたことがあります。
この指摘はスレッド上のやり取りとしてそのまま残ります。
このレビューのやり取り自体が次のコンテキストになり、Claudeに「スレッドのレビューコメントを反映して」と指示することで、指摘内容を修正指示として書き直す手間がなくなるわけです。
提案スライドAIのための基本アーキテクチャ

では、本節からは実際にAIエージェントに提案スライドを作成させるために必要な、基本的なアーキテクチャ(設計)について概要を解説していこうかと思います。
ここでは「提案書をAIに作らせるとはどういうことか」を分解していくパートになりますので、もし具体的な設定手順を早く知りたいという方は、後述の『Slack MCP(コネクタ)の準備』以降を参照ください。
『提案構成』と『スライド作成能力』があればいい
提案書AIとは、次の掛け算に分解できると思います。
提案書AI = 提案構成(何を言うのか) × スライド作成能力(どう見せるのか)
言い換えると、前者はコンテキストの質で決まり、後者はテンプレートと作成手順の作り込みで決まります。
この2つは要求される能力がまったく別物なので、分けて設計する必要があります。
「AIでスライド作成」を試して微妙な結果になった経験がある方もいらっしゃると思いますが、原因の多くは前者であるコンテキストを軽視している場合なのではないかと推察します。
コンテキストが足りない状態でスライドだけ綺麗に出しても、中身のない提案書ができあがってしまうからです。
提案構成を作るために必要なコンテキストとは
では次に、提案構成には何が必要かを整理してみたいと思います。
私の経験では次の4点セットが揃っていると基本的な提案構成が出来上がるのではないかと思います。
| 項目 | 中身 |
|---|---|
| 課題・背景 | お客様が何に困っていて、なぜ相談してきたのか |
| 支援・サービス内容 | 課題に対してこちらが何をするのか。スコープIN/OUT |
| スケジュール・体制 | いつからいつまで、誰が入るのか |
| 単価・見積単位数 | 単価と工数。金額の根拠 |
この4点が揃っていれば最低限の骨子は書くことができると思います。
そしてこの4点の具体的な内容は普段どこで発生するのかというと、
- 初回打ち合わせの議事録
- ヒアリングの回答
- 社内での金額の壁打ち
つまり、(私の場合は)全部Slackスレッドで管理している情報です。
Claudeに『適切なREADとWRITE』を指示する環境

コンテキストが揃ったら、次はClaudeに「何をどの順で読み、何をどこにどう書くか」を指示する環境を作ります。
READ側の設計は、読む順番の固定をしてあげることが肝要です。
私のClaude Coworkプロジェクト『資料作成プロジェクト』では以下の順で読ませています。
- 顧客情報(
company.md) - 案件概要(
overview.md) - 案件に紐づく関連資料(議事録・受領資料)
- 提案構成(
proposals.md) - スライドテンプレート
読む順番を顧客理解→案件理解→詳細ToDo→表現ルールという順で用意し、AIエージェントが余計な文脈を積み上げなくてもいいようにしています。
WRITE側の設計は、規約の明文化をしてあげることを重要視しています。
- ディレクトリ規約(顧客・案件ごとにフォルダ構造を固定)
- ファイル命名(
YYYYMMDD_資料名_vN.pptx) - 旧版を消さずバージョンを上げる運用ルール
- ビジュアル要件(テンプレート準拠、文字サイズ、テキストのトーンなどの)
また、テンプレート作業に関して、Skills化してあげることでバックグラウンドでのスクリプト実行により出力が定常化するので、お好みの要件でSkills化しておくといいでしょう。
まとめると、自由に作らせすぎず、規約の中で作らせる。ただし内容の記述方針はLLMに考えさせるという感じですね。
コンテキストとしてのSlackスレッド運用
前述でも話した通り、Slack側では生のデータを保存することを重要視しつつ、AIが読み込みやすいデータ整形をしてやる必要があります。
(前述: SlackとClaudeを連携すると何が嬉しいのか > AI Readyな情報整理がしやすい)
例えば、“議事録”という観点で、オンライン商談での音声文字起こしファイルをコンテキストにしたいとします。文字起こしファイルは生データですが、精度面では__話者分離性能__や__話者自身の滑舌__などにかなり依存します。
加えて、文字起こしのアウトプットそのものは、構造的なデータとは言えません。
議事録として、最低限『なんのための会話』『何をゴールにした会話』『何を話した』『次に何をするのか』を要約しておいて欲しいものです。
なので、AIが読み込みやすいデータにしておくために、次の二つが有効なアプローチかと思います。
- GeminiやZoom AI CompanionなどのオンラインMTG議事録AIの使用
- 文字起こしを要約するプロンプトやスキルの自作
私の場合、議事録は前者の議事録AIを使用し、あらかじめ要約された会話をマークダウンファイルとしてSlackスレッドに貼るようにしています。
Slack MCP(コネクタ)の準備

ここから設定手順です。まずSlack側との接続を作ります。ClaudeにはSlackのコネクタ(MCP)が用意されているので、画面操作だけで完了します。
1. 設定画面からコネクタを選択
まずは、Claudeの設定画面を開き「コネクタ」を選択します。

2. Slackを検索
次に、コネクタの一覧・検索画面で「Slack」を検索します。
検索して出てきたスニペットの「連携/連携させる」ボタンをクリックします。

次の画面で接続を続行するための画面に映るので、次のステップへ。

3. 接続してOAuth認証を済ませる
次に、SlackのOAuth認証画面に遷移します。
認証画面で、接続するワークスペースを確認して認証を許可します。
念の為この時に許可されるアプリパーミッションは確認しておきましょう。

補足が2点あります。
- Enterpriseなど管理されたワークスペースでは、Slack側の管理者がアプリを事前承認していないと接続できない場合があります。その場合はSlack管理者への承認依頼が必要です。
- 認証はSlackアカウント単位です。Claudeが読める範囲は認証した本人がSlack上で読める範囲と同じで、それ以上にはなりません。
Claude Coworkの準備

次にClaude Cowork側です。こちらは3つの要素を準備します。
提案書作成プロジェクトを設定
まず提案書作成用のプロジェクトを作り、材料の置き場を決めます。私のプロジェクトのフォルダ構造は以下です。
.(プロジェクトルート)
├── 資料テンプレート/
├── 顧客名A/
│ ├── company.md # 会社概要・キーパーソン・商流・案件履歴
│ ├── 案件名A/
│ │ ├── overview.md # 案件概要・スコープ・スケジュール・資料一覧
│ │ ├── ToDo.md
│ │ ├── 00_docx/
│ │ ├── 01_pptx/
│ │ ├── 02_xlsx/
│ │ ├── 03_pdf/
│ │ └── 04_img/
│ │ └── proposals.md
│ └── 案件名B/
└── 顧客名B/
設定上のポイントとしては、顧客単位の情報(company.md)と案件単位の情報(overview.md)を分けていることです。
これをすることで、同じ顧客の2件目以降の案件で顧客理解を再利用できるようになっています。
手順(CLAUDE.md)を設定
次に、プロジェクトの指示書にClaudeが従うべき手順と規約を書きます。
※最近ではLCAUDE.mdはそこまで効果がないという言説もありますが、一旦古典的に。。。
以下は私が実際に書いている内容の抜粋です。
## 基本原則
- 顧客・案件に関する作業を始める前に、必ず対象顧客の company.md と
対象案件の overview.md を読むこと。
- 資料を作成する際は、必ず 資料テンプレート/ 配下から
該当するテンプレートを参照すること。
## 提案資料の作成を依頼されたとき
1. company.md → overview.md → 関連資料 → テンプレートの順に読む。
2. まず構成案(アジェンダレベル)をユーザーに提示し、
合意を得てから本作成に進む。
3. 制作後、セルフレビューを実施する。
- 内容整合レビュー(金額・日付・固有名詞・スコープの矛盾チェック)
- 勝ち筋レビュー(案件整理mdのチェックリストとの照合)
- 表現レビュー(AIっぽい表現の検出と修正)
## 禁止事項
- ユーザーの明示的な確認なしに、既存ファイルを削除・上書きしないこと。
- ある顧客の情報を、別の顧客の資料に流用しないこと。
設計上のポイントは2つあると思っています。
1つ目は、構成案の段階で人間が合意するステップを入れていることです。スライドが完成してから構成を直すのは手戻りが大きいので、アジェンダレベルで先に握っておきたいためです。
2つ目は、セルフレビューを工程として明文化していることです。
指摘の品質を安定させたいので、指摘の観点をドキュメント化してプロジェクトに置いています。
スライド作成スキルの作成
最後がスライド作成スキルです。これは「ビジュアルをどう見せるか」の要件を集約していく工程になります。
- スライドテンプレート準拠のレイアウト指定
- 文字サイズの下限
- AIが作るスライドは文字が小さくなりがち
- 生成後に1.2〜1.5倍に拡大する指示を入れています
- テキストのトーン規定
- AIの吐き出す言葉が絶妙に気持ち悪いので、トーンは規定してやります
トーン規定の中で個人的に手応えがあるなと思うのは、AIっぽい表現の機械チェックです。
提案書に出てきがちなNGワードをリスト化して、生成後にgrepで検査させています。
以下はその一部一部になります。
「を実現します」「シームレス」「〜への第一歩」「価値を最大化」
→ 出現させない
Slackの案件スレッドから提案書を作らせる

ここまでで、Slack側(一次情報の置き場)とClaude Cowork側(規約と作業場)の準備が揃いました。
本節では、この2つを実際につないで提案書を作らせるまでの流れを、私が普段やっている順番で紹介します。
先に全体像を書いておくと、次の4ステップです。
- 案件スレッドを読ませて
overview.mdを作る - スレッドの添付ファイルをプロジェクトに落とす
- 提案書の作成を依頼する
- スレッドのレビューコメントを反映させる
ポイントは、Slackスレッドを毎回そのまま読ませるのではなく、一度 overview.md に取り込んでから提案書を作らせていることです。
Slackは“発生した情報がそのまま積まれている場所”、overview.md は“それを提案書用に整理した場所”という役割分担にしています。
1. 案件スレッドを読ませて overview.md を作る
まず、Claude Coworkで『資料作成プロジェクト』のフォルダを開き、案件スレッドのURLを渡して案件整理を依頼します。
私が実際に投げているプロンプトはほぼ以下の1文で、これ以上のことは書いていません。
このSlackスレッドを読んで、顧客名A/案件名A/overview.md を作成してください。
https://xxxxx.slack.com/archives/CXXXXXXXX/pXXXXXXXXXXXXXXXX
すると、ClaudeはSlack MCP経由でスレッドを上から順に読み込み、前述の4点セット(課題・背景/支援・サービス内容/スケジュール・体制/単価・見積単位数)に該当する情報を抽出して overview.md に書き出してくれます。(添付画像参照)

ここで“嬉しい”のは、スレッドの中で金額が二転三転していても、経緯ごと拾ってくれることです。
「初回は◯◯万で提示 → 営業から◯◯万に下げる相談 → 最終的に◯◯万で合意」のような流れが、時系列のまま overview.md に残ります。人間が「あれ、結局いくらで出す話になったっけ」と思い出す作業が消えるわけです。
なお、2回目以降は「スレッドを再読して overview.md を更新して」と頼めば差分だけ反映されます。
CLAUDE.mdで既存ファイルの無断上書きを禁止しているので、更新履歴を残しつつ追記される形になります。
(このステップをCLAUDE.mdに落としたものが以下です)
## 案件スレッドの取り込みを依頼されたとき
1. 渡されたSlackスレッドURLをSlackコネクタで読み、
課題・背景/支援内容/スケジュール・体制/金額の経緯を抽出する。
2. 対象案件の overview.md に反映する。
既存の記述は上書きせず、追記と更新履歴で管理する。
3. 判断が割れている論点(金額・スコープ)は
「未確定」として明示し、勝手に確定させない。
2. スレッドの添付ファイルをプロジェクトに落とす
次に、スレッドに貼ってある議事録mdや受領資料をプロジェクト側に落とします。
これも「スレッド内の添付ファイルを、種類ごとに 00_docx/ 03_pdf/ などへ保存して、overview.md の資料一覧に追記して」と頼むだけです。
ここで、前述した『AI Readyな情報整理がしやすい』の“生の情報は残したいが、そのままLLMに渡したくない”というジレンマの答えを書いておきます。
私の運用では、Slackスレッドには議事録AIが出力した要約mdと元の文字起こしファイルの両方を貼っています。
そしてClaudeには、提案書を作る際は要約mdを起点に読ませ、金額の発言や細かいニュアンスを確認したいときだけ文字起こしを参照するように指示しています。
つまり、“読ませる用の整形済みデータ”と“確認用の原文”を同じスレッドに並べておくことで、コンテキストのノイズを抑えつつ一次情報も捨てない、という両取りをしている魂胆です。
3. 提案書の作成を依頼する
材料が揃ったら、いよいよ提案書です。
依頼文はこれもシンプルで、以下の程度です。
顧客名A/案件名A の提案書を作成してください。
テンプレートは 資料テンプレート/提案書_標準.pptx を使ってください。
ここから先は、CLAUDE.mdに書いた手順が動きます。
company.md→overview.md→ 関連資料 → テンプレートの順に読む- 構成案(アジェンダレベル)が提示される
- 人間が確認・修正して合意する
- スライド作成スキルが走ってpptxが生成される
- セルフレビュー(内容整合・勝ち筋・表現)の結果が返ってくる
実際に返ってくる構成案は以下のような粒度です。(添付画像参照)

この構成案の段階で私が見ているのは、「お客様の課題の言い方がスレッドの発言と合っているか」と「スコープOUTが明記されているか」の2点だけです。
ここさえ握れておけば、スライドの中身が多少ズレていてもあとから直せます。逆にここがズレたまま進むと、全ページ作り直しになります。
合意後、数分で 01_pptx/YYYYMMDD_提案書_v1.pptx が生成されます。(添付画像参照)

セルフレビューの結果も一緒に返ってくるので、「金額がoverview.mdと一致しているか」「NGワードが残っていないか」といったチェックは、私がやる前にClaudeが済ませている状態になります。
4. スレッドのレビューコメントを反映させる
最後に、レビューの反映です。
生成されたv1をSlackの案件スレッドに貼り、営業や同席メンバーにレビューをお願いします。
指摘は、そのままスレッド上に書いてもらいます。前述した「初期構築まで弊社側でやる記述になっているのは想定外だから外せ」のような指摘ですね。
ここで私が指摘内容を修正指示に書き直すことは一切せず、Claudeには次のように頼むだけです。
案件スレッドの、v1を貼った以降のレビューコメントを読んで、
指摘を反映した v2 を作成してください。反映内容の一覧も出してください。
Claudeはスレッドの該当区間を読み、指摘ごとに「どのスライドの、どの記述を、どう変えたか」を一覧にした上で v2.pptx を出してくれます。(添付画像参照)

このとき、指摘の中に「スコープを外せ」といった案件の前提に関わるものが含まれていれば、overview.md 側にも反映してもらいます。
こうしておくと、次に同じ顧客の案件が来たときに、前回どこで揉めたかまでコンテキストとして残ります。
ここまでが1サイクルです。
人間がやっているのは、ステップ1でURLを貼る、ステップ3で構成案に合意する、ステップ4でレビューを依頼する、の3つだけになります。
SlackとClaudeの連携が上手くいかないときは

最後に、SlackとClaudeの連携がうまくいかない場合のトラブルシュートだけ書いておきます。
参考にしていただけますと幸いです。
コネクタを解除して再接続する
Slack MCPがうまくワークしない(APIが呼び出せない・エラーが出る)場合には、ほとんどが認証トークンの失効によるものだと思っていいでしょう。
そういう場合は、設定画面からSlackコネクタを一度解除して、再接続すると直ることが多いです。
再起動してやると治る、みたいなものです。
SlackまたはClaudeの管理者権限を確認する
そもそもコネクタ一覧にSlackが出ない、OAuth認証の途中で弾かれる、という場合。
この場合は個人の設定では解決できず、管理者側の設定を確認する必要があります。
- Slack側: ワークスペースのアプリ承認ポリシーで、Claudeアプリが承認されているかを確認
- 未承認ならSlack管理者に承認を依頼しましょう
- Claude側: TeamプランやEnterpriseプランでは、組織の管理者がコネクタの利用可否を制御できます
- 管理画面で無効化されている場合は組織管理者に依頼しましょう。
コネクタのツールの権限を設定する
接続はできているのに、検索だけできて投稿ができない。と言った場合。
コネクタはツール(検索・チャンネル読み取り・メッセージ送信など)ごとに許可設定を持っています。接続後にこの設定を確認して、必要なツールが有効になっているかを見てください。
まとめ

ここまでで、Slackの案件スレッドを一次情報の置き場にして、Slack MCP経由でClaude Coworkに読ませ、規約を書いたプロジェクトの中で提案書を作らせる運用を紹介しました。
人間に残った仕事承認やレビュープロセスにしたいという思惑のもと始めた運用ですが、これからも活用しつつアップグレードしていきたいと思います。
同じようにプリセールスの提案書づくりで時間をロックされている方の参考になれば幸いです。







