Slack CLI の api コマンドで Slack API を直接呼び出せるようになりました
Slack CLI v4.1.0 から slack api コマンドが追加され、任意の Slack API メソッドをターミナルから直接呼び出せるようになりました[1]。
何が嬉しいか
例えばチャンネルにメッセージを投稿したい場合、curl では次のようなコマンドになります。
$ curl -X POST https://slack.com/api/chat.postMessage \
-H "Content-Type: application/json; charset=utf-8" \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-d '{"channel":"C0123456789","text":"test"}'
このように、エンドポイントの URL、Content-Type、Authorization ヘッダーなどを原則毎回書くことになり、手間がかかる上に間違えやすいです。
一方で、slack api コマンドを使うと次の 1 行で済みます。
$ slack api chat.postMessage channel=C0123456789 text=test
トークンは CLI がログイン済みの認証情報から解決するため、エンドポイントの URL やトークンの文字列等は不要で手軽です。
平易なコマンドで呼べることは、AI エージェントに Slack の操作を任せたい場合にも嬉しいポイントです。
また、AI にトークン等の認証情報を渡す必要がなくなるという利点もあります。
本記事では、Slack CLI のインストールから、実際にチャンネルにメッセージを投稿するまでの手順をまとめます。
前準備
前提条件として、Node.js のインストールが必要になります。
また、有料版のワークスペースか、Slack Developer Program で発行できる無料サンドボックスのワークスペースも必要です。
1. Slack CLI をインストールする
インストール手順は OS ごとに異なります。公式のガイドをご参照ください。
2. ワークスペースに CLI を認証する
slack login を実行すると、/slackauthticket から始まるスラッシュコマンドがターミナルに表示されます。
$ slack login
表示されたスラッシュコマンドを、対象ワークスペースの任意のチャンネルまたは DM に貼り付けて送信します。権限を確認するモーダルが開くので承認すると、チャレンジコードが表示されます。


チャレンジコードをターミナルに貼り付けると認証が完了します。認証済みのアカウントは slack auth list で確認できます。
$ slack auth list
test-0828 (Team ID: XXXXXXXXXXXX)
User ID: XXXXXXXXXXX
Last Updated: 2026-08-28 20:40:14 +09:00
Authorization Level: Organization
3. アプリを作成する
slack create にアプリ名を渡して実行します。省略すると自動で生成されます。
$ slack create my-app
作成するアプリの種類を選ぶプロンプトが表示されるので、Starter App → Bolt for JavaScript を選びます。
4. マニフェストにスコープを追加する
チャンネルへのボットの招待を省略できるよう、プロジェクトルートの manifest.json からスコープに chat:write.public を追加します。
"oauth_config": {
"scopes": {
"bot": [
"channels:history",
"chat:write",
"chat:write.public",
"commands"
]
}
}
5. ワークスペースにインストールする
プロジェクトディレクトリに移動して slack app install を実行します。
$ cd my-app
$ slack app install
対話形式で、Deployed → Create a new app → インストール先のチーム選択 → 付与したいワークスペース選択 を実施します。
注意点として、最後の付与先では Organization ではなく特定のワークスペースを選ばないと、トークンが CLI で自動解決できないことがあります。
6. chat.postMessage を実行する
プロジェクトディレクトリの中で下記コマンドを実行します。
$ slack api chat.postMessage channel=C0123456789 text=test
すると、指定したチャンネルにメッセージが投稿されます。

まとめ
初期設定さえ完了してしまえば、非常にシンプルなコマンドで Slack API を実行できます。
本記事ではセットアップまでを中心に扱いましたが、次回は応用編として Slack CLI ならではの便利な使い方をご紹介予定です。お楽しみに!






