Slack Block Kit の新ブロックを試してみた【エージェント編】

Slack Block Kit の新ブロックを試してみた【エージェント編】

Slack Block Kit に追加された新ブロックを紹介します。今回はエージェントの思考過程とタスク進捗を表示する task_card、plan、context_actions の各ブロックについて Block Kit Builder での検証例とともに解説します。
2026.08.31

2026 年に入ってから、Slack の Block Kit に新しいブロックが続々と追加されています。本シリーズでは、これらの新ブロックを実際に試しながら紹介していきます。

  • 第 1 弾: データ編

https://dev.classmethod.jp/articles/slack-block-kit-new-data-display-blocks/

  • 第 2 弾: 汎用表示編

https://dev.classmethod.jp/articles/slack-block-kit-new-general-display-blocks-guide/

  • 第 3 弾: エージェント編(本記事)
  • 第 4 弾: ストリーミング編
  • 第 5 弾: 検証・CI 編

今回は第 3 弾として、エージェント系ブロックである task_card / plan / context_actions の 3 つを紹介します。これらはエージェントの思考過程とタスク進捗、そして応答へのフィードバック手段を Slack ネイティブの UI で表示できるブロック群です。

3 つのブロックの概要

ブロック 追加時期 用途
task_card 2026 年 2 月 11 日[1] 単一タスクの進捗表示
plan 2026 年 2 月 11 日[1:1] 複数タスクをまとめた計画の表示
context_actions 2025 年 10 月 7 日[2] AI 応答へのフィードバックボタン等の表示

task_card と plan は同時に追加されたもので、LLM ツールでおなじみの「Thinking...」の表示を Slack アプリでも実現するためのブロックです。

これらはストリーミング API と組み合わせて逐次更新する設計になっていますが、その連携は第 4 弾のストリーミング編で扱います。本記事ではまず、各ブロックが単体でどう表示されるかを確認します。

なお、検証は前回同様 Block Kit Builder で行います。

task_card block

単一のタスクをステータスインジケーター付きで表示するブロックです[3]

項目 内容
task_id 必須。タスクの ID
title 必須。タスクのタイトル。plain text 形式
status 必須。in_progress / complete / error
details タスクの詳細。単一の rich_text 形式
output タスクの出力。単一の rich_text 形式
sources 応答の生成に使った URL source element の配列。クリック可能な参照リンクとして表示される
icon タスクに関連付けるアイコン
hide_title true にすると title が非表示になり、details が先頭要素になる。この場合も title 自体は必須
{
  "blocks": [
    {
      "type": "task_card",
      "task_id": "task_1",
      "title": "社内ドキュメントを検索中",
      "status": "in_progress",
      "output": {
        "type": "rich_text",
        "elements": [
          {
            "type": "rich_text_section",
            "elements": [
              { "type": "text", "text": "経費精算に関するページが 3 件見つかりました" }
            ]
          }
        ]
      },
      "sources": [
        { "type": "url", "url": "https://example.com/wiki/keihi", "text": "経費精算ガイド" }
      ]
    }
  ]
}

task_card のプレビュー

plan block

複数の task をまとめて 1 つの計画として表示するブロックです[4]

項目 内容
title 必須。計画のタイトル。plain text 形式
tasks 必須。タスクの配列で最大 50 件。各要素は task_card と同じ構造だが type は持たない。task_id は plan 内で一意にする必要あり

エージェントが「これから何をするか」「どこまで進んだか」を見せる、いわゆる思考過程の表示はこのブロックが担います。

{
  "blocks": [
    {
      "type": "plan",
      "title": "経費精算の質問に回答中",
      "tasks": [
        {
          "task_id": "step_1",
          "title": "質問の意図を分析",
          "status": "complete",
          "output": {
            "type": "rich_text",
            "elements": [
              {
                "type": "rich_text_section",
                "elements": [
                  { "type": "text", "text": "「出張費の精算期限」に関する質問と判定" }
                ]
              }
            ]
          }
        },
        {
          "task_id": "step_2",
          "title": "社内ドキュメントを検索",
          "status": "in_progress"
        },
        {
          "task_id": "step_3",
          "title": "回答を生成",
          "status": "pending"
        }
      ]
    }
  ]
}

plan のプレビュー

context_actions block

AI 応答の末尾に、フィードバックボタンなどの小さな操作要素を並べるブロックです[5]

項目 内容
elements 必須。feedback buttons element と icon button element の配列。最大 5 個
block_id インタラクションペイロードで操作元を特定するために使える

置ける要素は 2 種類だけです。feedback_buttons は 👍 / 👎 のペアで応答への評価を受け取り、icon_button は削除などの単一アクションを提供します。

{
  "blocks": [
    {
      "type": "context_actions",
      "elements": [
        {
          "type": "feedback_buttons",
          "action_id": "answer_feedback",
          "positive_button": {
            "text": { "type": "plain_text", "text": "👍" },
            "value": "positive_feedback"
          },
          "negative_button": {
            "text": { "type": "plain_text", "text": "👎" },
            "value": "negative_feedback"
          }
        }
      ]
    }
  ]
}

context_actions のプレビュー

第 1 弾で紹介した data_table などの表示系ブロックと違い、こちらの要素は action_id を持ちます。つまりユーザーの操作が block_actions ペイロードとしてアプリに届く、従来のボタンと同じ操作系のブロックです。フィードバックの収集から評価データの蓄積までアプリ側で実装できます。

まとめ

本記事では、エージェント系の 3 ブロックを紹介しました。

これまで Slack におけるエージェントの進捗表示といえば、メッセージを何度も編集・上書きする実装が基本でしたが、plan block の登場によって綺麗な実装が可能になりましたね。

一方で、これらのブロックの本領は、ストリーミング API でタスクを逐次更新していく使い方にあります。次回の第 4 弾はストリーミング編として、chat.startStream をはじめとするストリーミング API でブロックの逐次更新を試します。お楽しみに!

脚注
  1. https://docs.slack.dev/changelog/2026/02/11/task-cards-plan-blocks ↩︎ ↩︎

  2. https://docs.slack.dev/changelog/2025/10/7/chat-streaming ↩︎

  3. https://docs.slack.dev/reference/block-kit/blocks/task-card-block ↩︎

  4. https://docs.slack.dev/reference/block-kit/blocks/plan-block ↩︎

  5. https://docs.slack.dev/reference/block-kit/blocks/context-actions-block ↩︎


AI白書2026 配布中

クラスメソッドが独自に行なったAI診断調査をもとに、企業のAI活用の現在地を調査レポートとしてまとめました。企業規模別の活用度傾向に加え、規模を超えてAI活用を進める企業に共通する取り組みまで、自社の現在地を捉えるためのヒントにぜひ。

AI白書2026

無料でダウンロードする

この記事をシェアする

DevelopersIO 2026

関連記事