【目次】

自社の業務に合わせたシステムを。
既製のツールでは足りない部分は、独自システムで解決。要件の整理から開発まで一貫して支援します。
⇒無理な営業は行いません。まずはお話し聞かせてください。

生成AIを、業務の仕組みに組み込む
日々の業務に生成AIを取り入れる仕組みづくりから、独自の業務システム開発まで。自社に合った形をCoopelが一緒に設計します。
⇒AI活用方法について相談する

「漠然とした不安」を、具体的な打ち手に。リスクの把握から安全な構築・運用体制づくりまで、AIエージェント活用の進め方を専門チームがご相談に応じます。
⇒AIエージェント活用について相談する

AIエージェントか?RPAか?両方の選択肢を正直にお伝えします
重要なのは流行に乗ることではなく、自社の業務に合った仕組みを整えること。
⇒要件が整っていなくても、何でも相談できる窓口があります

業務システムの効率化を一緒に始めませんか?
複雑な業務フロー構築のご支援をしています。
無料相談はこちらから

業務に合わせた「ちょうどいい」システムを開発します。市販システムでは解決できないお悩みをぜひ聞かせてください。
⇒要件が整ってなくても大丈夫です。こちらからお問い合わせください。

「漠然とした不安」を、具体的な打ち手に。リスクの把握から安全な構築・運用体制づくりまで、AIエージェント活用の進め方を専門チームがご相談に応じます。
AIエージェント活用について相談する

はじめに

私はクラウド型RPAサービス「Coopel」のカスタマーサクセス担当です。
Slackには有料プランで使える「要約機能」がありますが、個人や小規模チームにとっては少し高価。
「これを無料で自動化できないか?」
この課題を解決するため、Power Automate for Desktop(PAD)とWindows Copilot アプリを組み合わせて、Slackのチャット履歴を自動で取得・整形・要約する仕組みを作りました。


結果:

こんな形で要約することができました!

使いこなせば、業務効率は大きく変わる
AIを「どの業務に、どう活かすか」。効率化の第一歩を、ダウンロード資料でわかりやすく解説します。
資料を無料でダウンロード

AI活用の遠回りを防いで、最短ルートで効率化を支援します
やみくもに始めて手戻りする前に。自社に合った進め方の考え方を、無料資料にまとめました。
無料で資料を見る

自社の業務をAIで変えられるか確かめる
判断やイレギュラーを含む業務にも対応できる時代に。始め方のヒントを一本にまとめました。
資料をダウンロード

大きなDXの前に、まず一つの業務から
「何から手をつけるか」を考えるための実践的なヒントを資料に凝縮しました。
無料ダウンロードはこちら

標準化しづらい業務こそ、AIの始めどき
パッケージやRPAでは合わなかった自社ならではの業務。AIで始めるヒントを資料にまとめました。
資料を無料で受け取る

「どの業務から効率化を始めるか」が分かる資料
AI活用がまだ進んでいなくても大丈夫です。自社の業務から始める最初の一歩をまとめました。
無料で資料をダウンロードする

AI活用、最初の一歩の見つけ方
AIで何か始めたいけれど、どう活かすか迷っている方へ。自社に合った始め方の考え方をご紹介します。
無料で資料をダウンロードする

この記事でできること

  • 指定された Slack スレッドのリンクをベースにスレッド内のコメント履歴を自動で取得
  • Unicode形式(\uXXXX)を人間が読める形式に変換
  • CopilotアプリにファイルをアップロードしてAI要約
  • 無料の Power Automate for Desktop で構築可能!

使用ツール

ツール

用途

Power Automate for Desktop

自動化フローの作成

Slack API

スレッド履歴取得

Windows Copilot アプリ

テキストファイルをようやく(ファイルアップロード)

事前準備(初回のみ)

Slackの履歴をAPI経由で取得するには、以下の2ステップを行っておきます。

1. Slack APIアプリを作成してUser Tokenを取得

手順:

  1. Slack API Apps にアクセス
  2. 「Create New App」→「From scratch」を選択
  3. 任意のアプリ名(例:Slackログ取得Bot)とワークスペースを選択 → Create
  4. 左メニュー「OAuth & Permissions」をクリック
  5. 「Bot Token Scopes」の下の「Add an OAuth Scope」をクリックし下記のOAuth Scopeを追加

channels:history
アプリ (この例ではSlackログ取得Bot) が追加されているパブリックチャンネル内のメッセージやその他のコンテンツを閲覧する権限

channels:read
ワークスペース内のパブリックチャンネルに関する基本情報を閲覧する権限

groups:read
アプリ (この例ではSlackログ取得Bot) が追加されているプライベートチャンネルに関する基本情報を閲覧する権限

mpim:history
アプリ (この例ではSlackログ取得Bot) が追加されているグループダイレクトメッセージのメッセージやその他のコンテンツを閲覧する権限

users:read
ワークスペース内のユーザー(メンバー)に関する情報を閲覧する権限

groups:history
アプリ (この例ではSlackログ取得Bot) が追加されているプライベートチャンネルのメッセージやその他のコンテンツを閲覧する権限


トークン発行手順:

  1. 左メニュー「OAuth & Permissions」から「Install to Workspace」
  2. 「許可する(Allow)」をクリック
  3. 表示された User OAuth Token(xoxp-...) をコピーして控える

2. 作成したBotをチャンネルに招待する

手順:

  1. Slackで対象チャンネルを開く
  2. メッセージ入力欄で以下を入力して送信:

/invite @アプリ名 
例: /invite @Slackログ取得Bot


正しく追加されると「@Bot名 がこのチャンネルに参加しました」と表示されます

全体の流れ

1.Power Automate for Desktop の入力ダイアログにて Slack スレッドのリンクを受け取る
2.Slack スレッドのリンクからチャネルID とスレッドID を抜き取る
3.Slack API を実行し、スレッド内のコメント一覧を取得する
4.メッセージ部分のみを抜き取り、Unicode形式を整形してファイルに保存する
5.Copilotアプリを起動する(Alt + Space)
6.ファイルをアップロードし要約依頼する

自動化の手順(ステップバイステップ)

実際のフロー(全体)

1.Power Automate for Desktop の入力ダイアログから Slack スレッドのリンクを受け取る

a.入力ダイアログを表示アクションを使用し、履歴を要約する対象スレッドのリンクの入力を求める

  • 入力ダイアログのタイトル: スレッドURL
  • 入力ダイアログメッセージ: スレッドのURLを記入してください
  • 既定値: https://YOURWORKSPACE.slack.com/archives/チャネルID/pスレッドID
  • 入力の種類: 1行

Slack スレッドのリンクは https://YOURWORKSPACE.slack.com/archives/チャネルID/pスレッドID であり、Slack の該当スレッド上で右クリックし、リンクをコピーを選択することにより入手できます。

このアクションを実行すると、下記のようにダイアログが表示されるので、実行者は、要約したいスレッドのリンクをこのダイアログに貼り付けます。

2. Slack スレッドのリンクからチャネルID とスレッドID を抜き取る

a.テキストの分割アクションを使用して https://YOURWORKSPACE.slack.com/archives/チャネルID/pスレッドID の形式の URL を /archives/ 前後に区切ります



b.テキストの分割アクションを使用して チャネルID/pスレッドID の文字列を / 前後で区切ります。区切った文字列のうち、前半がチャネルID、後半がSlackメッセージのタイムスタンプ(投稿ID)となります。

  • 分割するテキスト: %SlackURLDevided[1]%
  • 区切り記号の種類: カスタム
  • カスタム区切り記号: /



c.変数の設定アクションを使用して、直前のアクションで区切った文字のうち前半部分を ChannelID 変数に格納します

  • 変数: ChannelID
  • 値: %ChannelAndThread[0]%


d.PowerShell スクリプトの実行アクションを使用して、SlackメッセージのタイムスタンプをスレッドID の形式に変換します。(例: p1745821585046879 がタイムスタンプである場合、p をまず取り除き、整数部分と少数部分に分け、1745821585.046879 のような形にします。これが Slack のスレッドID となります。

実行する PowerShell コード:

コピー用PowerShell コード:

$numericThreadIdWithP = "%ChannelAndThread[1]%"
$numericThreadId = $numericThreadIdWithP.Substring(1)
$seconds = [int]($numericThreadId / 1000000)
$microseconds = $numericThreadId %% 1000000
$formattedThreadId = "$seconds." + $microseconds.ToString('000000')
$formattedThreadId

3. Slack APIを実行し、スレッド内のコメント一覧を取得


a.Web サービスを呼び出しますアクションを使用し、Slack API を実行して特定スレッドの履歴を取得します

  • URL: https://slack.com/api/conversations.replies?channel=%ChannelID%&ts=%ThreadID%&limit=100
  • カスタムヘッダ: Authorization: Bearer [Slack API Token]


b.テキストをファイルに書き込むアクションを使用し、取得した履歴をテキストファイルに保存します

  • ファイルパス: 任意のファイルパス及びファイル名を記載します
  • 書き込むテキスト: %WebServiceResponse%

4.メッセージ部分のみを抜き取り、Unicode形式を整形して保存する

a.PowerShell スクリプトの実行アクションを使用し、取得した履歴の中からメッセージ部分のみを抜き取り、Unicode形式を整形して再度テキストファイルに保存します

実行するPowerShellコード:

コピー用PowerShell コード:

# JSONファイルを読み込み
$json = Get-Content "手順1-cで指定したファイルパス (例: C:\temp\slack_texts.json)" -Raw | ConvertFrom-Json

# messages[].text を抽出して結合
$texts = $json.messages | ForEach-Object { $_.text }

# 改行区切りで保存
$texts -join "rn" | Set-Content "手順1-cで指定したファイルパス (例: C:\temp\slack_texts.json)" -Encoding UTF8

↑コピー用PowerShellコード

5. Copilotアプリ(Alt + Space)で起動する

a.キーの送信アクションを使用して Alt+Space キーを押下し、Copilot アプリの簡易版を起動します

  • 送信するテキスト: {Alt}({Space})

6. ファイルをアップロード → 要約依頼


a.PowerAutomate の記録機能を使用して、Copilot アプリ内の「+」→ 「アップロード」→ ファイル選択 → 開くボタンをクリックまでを行いアクションを記録します

  • 結果、下記のようなフローが自動的に作成されます


b.ウィンドウ内のフィールドに入力するアクションを使用して、Copilot のプロンプト内に “これを要約してください” と入力します

  • 入力するテキスト: これを要約してください

c.キーの送信アクションを使用して、Enter キーを2度押下し、Copilot に内容を要約させます 送信するテキスト:{Enter}{Enter}

フロー実行

フロー実行前に、Slack 上の要約対象となるスレッドの一番最初のコメントの上で右クリックをし、リンクをコピーしてそのスレッドへのリンクをコピーしておきます。

Power Automate for Desktop でフローを実行すると、下記のダイアログが表示され、要約対象のスレッドへのリンクの入力が求められますので、コピーしたスレッドへのリンクを貼り付け、OK ボタンをクリックします。

Copilot が自動的に起動し、そのスレッドでの会話が Copilot で要約されます。

やってみた感想

  • SlackのAPIレスポンスが \uXXXX形式のUnicode で、そのままでは読めなかった
  • Copilotのチャット欄には 文字数制限 があり、文字列を直接貼り付ける形にすると文字数制限に引っかかってしまうことがあった

そこで、PowerShellで変換してファイル化 → Copilotにアップロードという手順に切り替えることで安定して要約できるようになりました。

まとめ

Slackの「要約」機能を無料で再現できたことに加え、指定したスレッドの内容を生成AIに任せて整理できるのはかなり便利です。

  • 長いSlackのスレッドの情報整理に時間がかかっている
  • 有料機能を無料で補いたい

といった場合には、是非お試しください!
私の所属するCoopel でも、全く同じフローではないですが、類似のフローを作成することは可能です。その際、要約する部分を Gemini や ChatGPT の API (有料)を使用する形となります。みなさまの業務の一助になれば幸いです!

自社の業務に合わせたシステムを。
既製のツールでは足りない部分は、独自システムで解決。要件の整理から開発まで一貫して支援します。
⇒無理な営業は行いません。まずはお話し聞かせてください。

生成AIを、業務の仕組みに組み込む
日々の業務に生成AIを取り入れる仕組みづくりから、独自の業務システム開発まで。自社に合った形をCoopelが一緒に設計します。
⇒AI活用方法について相談する

「漠然とした不安」を、具体的な打ち手に。リスクの把握から安全な構築・運用体制づくりまで、AIエージェント活用の進め方を専門チームがご相談に応じます。
⇒AIエージェント活用について相談する

AIエージェントか?RPAか?両方の選択肢を正直にお伝えします
重要なのは流行に乗ることではなく、自社の業務に合った仕組みを整えること。
⇒要件が整っていなくても、何でも相談できる窓口があります

業務システムの効率化を一緒に始めませんか?
複雑な業務フロー構築のご支援をしています。
無料相談はこちらから

業務に合わせた「ちょうどいい」システムを開発します。市販システムでは解決できないお悩みをぜひ聞かせてください。
⇒要件が整ってなくても大丈夫です。こちらからお問い合わせください。

「漠然とした不安」を、具体的な打ち手に。リスクの把握から安全な構築・運用体制づくりまで、AIエージェント活用の進め方を専門チームがご相談に応じます。
AIエージェント活用について相談する