中級向け
Slack から PowerPoint を作る
Slack のスレッドで「定例の資料にして」とアプリに頼むと、PowerPoint のファイルがスレッドに届きます。
ファイルはコードが組み立てるので、Google も Microsoft のアカウントも要りません。AI が書いた項目は、元の発言と照らします。
それでも、「決めたいです」と言った人が担当にされました。最後は人が開いて確かめます。
人の手間は、どう変わるか
Before(人が手でやっていたこと)
- 会議の前に、Slack のスレッドを読み返して、PowerPoint に打ち直す
- AI のアプリで要約しても、出てきた文を PowerPoint に貼り直す
- 数字や担当や期日が、本当にスレッドに書いてあったかを見直す
After(このワークフローを入れると)
- スレッドで @メンションすると、PowerPoint のファイルがスレッドに届く
- 項目ごとに元の発言の番号が付き、最後のスライドに元の発言の一覧が載る
- 根拠のない項目・数字・日付・担当者は外され、外した理由がスレッドに返る
それでも人に残ること
- ファイルを開いて、担当や言い回しのずれ(「決めたい」が担当になっていないか)を直す
- 会社のテンプレートのデザインに合わせたいときは、手で整える(レイアウトは固定)
公開
動作確認: — n8n 2.36.8 / Claude Haiku 4.5 / Slack / PowerPoint(Windows)
会社の資料は PowerPoint。でも、話し合いは Slack。会議の前に、スレッドを読み返して、PowerPoint に打ち直している人に向けて書いています。
前に、同じことを Google スライドで作るワークフローを作りました。ただ、Office を使う会社では、Google のアカウントを用意するところで止まります。そこで今回は、PowerPoint のファイルそのものを、n8n の中で作る形にしました。
先に結論です。
- スレッドで頼むと、PowerPoint のファイル(pptx)がスレッドに届きます。 自分の Slack で試すと、約7秒でした
- Google も Microsoft のアカウントも要りません。 ファイルはコードが組み立てます。作ったファイルは、どれも PowerPoint(Windows)で、修復の表示なしに開けました
- AI が書いた項目は、元の発言と照らします。 ただし、「金曜までに決めたいです」と言った人が、2回とも担当にされました。照らしても止められない間違いがあるので、最後は人が開いて確かめます
このワークフローは、n8n 公式テンプレートに提出しました(2026年10月24日、審査中)。
slack-thread-to-pptx.json をダウンロード(n8n に提出した英語版と同じファイル。日本語で使うときは、Config の見出しの言葉とフォントを変えます)

![作られた PowerPoint の4枚のスライド。表紙は「来月の展示会の準備」と「次の定例で使う資料、2026-10-24・7件の発言から」。論点のスライドには「ブースの大きさは3m×3mで申し込む予定 [2]」など4項目。次にやることのスライドには「ブースの大きさを決定する — 佐藤, 金曜まで [1]」と「パンフレットを入稿する — 鈴木, 来週の水曜まで [6]」。元の発言のスライドには、[1] から [7] までの発言者と引用が並ぶ。](/media/n8n-template-slack-thread-to-pptx/deck.webp)
PowerPoint のファイルは、n8n の中で組み立てられる
pptx のファイルの中身は、XML という文書をいくつかまとめた ZIP です(Office Open XML という決まった形)。スライドの土台、色とフォントの設定(テーマ)、スライド1枚ずつの中身が、それぞれ別の XML になっています。
このワークフローでは、次の2つのノードで作ります。
- Code ノードが、XML の部品を書く。6枚のスライドなら、部品は26個です。文字の位置・大きさ・色も、ここで決めています
- Compression ノード(n8n に最初から入っている、ファイルを ZIP にまとめるノード)が、部品を1つにまとめて、名前を
.pptxにする
外から部品を足す必要はありません。n8n の Code ノードは、自分で動かす n8n でも、追加のライブラリ(pptxgenjs など)を読み込むには設定が要ります。そこで、XML を直接書く形にしました。
AI に引用させ、コードが照らす
中身の作り方は、Google スライド版と同じです。AI(Claude Haiku 4.5)に、番号を振ったスレッドの発言を渡し、背景・論点・決めること・次にやること(誰が・何を・いつまでに)の枠で、項目を書かせます。項目ごとに、元の発言の一文を引用させます。
コードは、次の3つを照らします。
- 引用は、会話にあるか。 なければ、その項目を外す
- 数字と日付は、引用元に書かれているか。 なければ外す。期日だけが書かれていなければ、期日だけ消す
- 担当者は、会話にいる人か。 いなければ、担当者だけ消して「担当は書かれていない」にする
外した項目と理由は、スレッドの返事に書きます。
試した結果
2026年10月24日、自分の n8n(2.36.8)で試しました。会話は架空のものです。
| 試したこと | 結果 |
|---|---|
| XML の部品だけを書いて、ZIP にまとめた試作(3枚) | PowerPoint で開けた。日本語も数字も崩れなかった |
| 架空の会話(展示会の準備、7件)をフォームに貼る。2回 | 2回とも、外れた項目なし。6〜7枚のファイルが作られ、PowerPoint で開けた |
| 同じ会話を英語で(6件) | 英語の見出しと Calibri のフォントで作られた |
| 自分の Slack のスレッドで、アプリをメンション | 約7秒で、スレッドにファイルが届いた。開けた |
| フォームから送信 | 完了の画面で、ファイルがダウンロードされた |
「決めたいです」と言った人が、担当にされた
照らしても止められなかった間違いです。
| 元の発言 | 作られた「次にやること」 |
|---|---|
| 佐藤:「来月の展示会、ブースの大きさを金曜までに決めたいです」 | 「ブースの大きさを決定する — 佐藤, 金曜まで」(2回とも) |
佐藤さんは、決めたいと言っただけです。担当を引き受けたとは書いていません。でも、佐藤さんは会話にいる人なので、コードの照合は通りました。
一方で、同じ内容でも、言い方が違うと結果が変わりました。
- 英語の会話(「金曜までに、ブースの大きさを確かめられますか?」という問いかけ)では、「担当は書かれていない」になった
- 自分の Slack のスレッドで、「入稿は来週の水曜までにやります」と書いたときも、「担当は書かれていない」になった(書いた本人が担当とも読めるのに)
AI は、言い方によって、担当を付けたり付けなかったりします。 担当と期日は、ファイルを開いて確かめてください。
合意した「500部」が、論点に入った
「パンフレットは500部あれば足りると思います」「去年は400部で足りなかったので、500部でお願いします」と合意しているのに、「パンフレットは500部必要」は、決まったことではなく論点に入りました。決まったことを、決まっていないように書く向きの間違いです。逆向き(決まっていないことを決まったと書く)よりは安全なので、今回はそのままにしています。
使うための設定
- 認証情報: Slack(Bot のトークン)と Anthropic の2つだけです
- まずフォームで試す: 「名前: メッセージ」の形で会話を貼ると、ファイルがダウンロードされます。Slack の設定は要りません
- Config: 日本語で使うときは、次を変えます
fontとfont_east_asian:日本語のフォント(たとえばMeiryo)language_tag:ja-JP- 見出しの言葉(
label_backgroundなど):「背景」「論点」「決めること」「次にやること」など - ほかに、強調の色(
accent_color)、枠ごとの最大の項目数、タイムゾーン
- Slack: Slack アプリに、Bot の権限
app_mentions:read・channels:history・chat:write・files:write(ファイルを送る権限)・users:readを足して、入れ直す。Event Subscriptions に Slack mention の本番の URL を貼り、app_mentionを受け取るようにする。使える人のメンバー ID を Slack settings に書き、アプリをチャンネルに招く。n8n は、外から届く場所に置く必要があります(試したときは、一時的なトンネルを使いました)
files:write がないと、ファイルを送れません。そのときは、送れなかった理由をスレッドに書く作りにしています。
できないこと・確認していないこと
- 会社の PowerPoint のテンプレートは使いません。 レイアウトは、表紙・見出しと箇条書き・元の発言の3種類で固定です。合わせたいときは、Code ノードの位置や色を、自社のテンプレートに合わせて書き換えます
- 文字が入りきらなくても、自動では縮みません。 枠ごとの項目は5つまでにしています
- Mac の PowerPoint、Keynote、Google スライドへの読み込みは、試していません
- n8n Cloud では試していません(追加のライブラリを使っていないので、動くはずですが、確かめていません)
- 非公開チャンネルと、長いスレッドは試していません(非公開チャンネルでは
groups:historyの権限も要ります。200件を超えると、新しい200件だけを使います)
次に読む
- 同じ中身を、会社の Google スライドのひな形に埋めるのは Slack のスレッドを会議資料に
- 数字はコードに計算させて、月次報告のスライドを作るのは 月次報告のスライドを自動作成
- 根拠の引用をコードで照らす議事録は 引用つきの議事録
- AI に「送る」を任せない設計は AI エージェントの暴走は、指示では防げなかった