slack-utils by Leave a Nest Knowledge
npx slack-utils --intro

Slackを、もっと便利に深く。

Slackの「あるある困りごと」を、ちいさなユーティリティの詰め合わせで一気に解決。 channel・user・status・soracom — Slack管理者と情シス担当者のための、実戦的なOSSツール群です。

5Utilities
Deno 2.xSlack SDK v2
ServerlessNo infra
MITJA / EN i18n
~/slack-utils — slack run
$slack run workflows/channel_info
# プライベートチャンネル作成申請を受付中...
channel: retrieved #design-ops
user: profile updated for @hiratsuka
status: set "会議中 📅" until 15:00
soracom: 14 SIMs — all active
$_
あるある困りごと → 解決

Slackのモヤモヤ、
ぜんぶ置いていこう。

情シスの現場で繰り返し聞く「ちょっと困る」を、スクリプトではなく体験として提供します。

PROBLEM 01
> enterprise grid admin @ 09:47
「プライベートチャンネル作成が『全員可』か『管理者のみ』の0か100…現場が詰まる」
✓ slack-utils-channel · ショートカットから申請 → 管理者が承認 → 自動作成。Enterprise Grid の粒度問題を埋める。
PROBLEM 02
> hr sync @ 10:00
「異動ラッシュで50人分のプロフィールを手動更新中」
✓ slack-utils-user · カスタムフィールドごと他メンバーのプロフィールを更新。
PROBLEM 03
> every morning @ 08:50
「毎朝『出社中』ステータスを付け直すのが地味につらい」
✓ slack-utils-user-status · 曜日・時間・予定ベースでステータスを自動化。
PROBLEM 04
> iot ops @ daily
「SIMやセンサーの状態を朝イチでSlackに流したい」
✓ slack-utils-soracom · SORACOMのSIM/CO2/カメラを日次レポートに。
Utilities

5つの小さな相棒。
組み合わせて、しくみになる。

ch

slack-utils-channel

Enterprise Grid のプライベートチャンネル作成申請・承認ワークフロー。2-app構成で admin.conversations API を安全に呼び出し。
$ slack run workflows/create_channel_request
usr

slack-utils-user

ショートカットから他メンバーのプロフィール・カスタムフィールド(部署・入社日・社員番号)を更新。入社・異動の手続きを数秒に。
$ slack run workflows/update_user_profile
stt

slack-utils-user-status

「今、連絡していい?」を減らす。曜日・時間・予定ベースでステータスを自動切替。戻し忘れもゼロに。
$ slack run workflows/auto_status
iot

slack-utils-soracom

SORACOMのSIM / CO2 / 温湿度 / ソラカメ / GPS を日次・週次でSlackへ。11のカスタムステップをワークフローに組み込み可能。
$ slack run workflows/soracom_daily_report
tpl

slack-utils(template)

上記4つの共通ベース。Deno SDK v2.0.0 を前提に、i18n・Zod バリデーション・例外処理・テスト・CI を最初から同梱。 あなた自身のutilsを作る足場として使えます。
$ git clone github.com/leaveanest/slack-utils
Architecture

Deno SDK の上に、薄く・統一的に。

Slack CLI → Workflow → Function → Slack API。それぞれの層に責任を分け、i18nとバリデーションを横串で通しています。

USER
Slack Shortcut
  • ショートカットから起動
  • モーダルで入力
  • JA / EN 両対応
UTILS
Workflow + Function
  • Deno 2.x + Slack SDK v2
  • Zod で入力検証
  • t() で多言語メッセージ
API
Slack / SORACOM
  • conversations / users
  • admin.conversations (Grid)
  • SORACOM APIs
DESIGN NOTE
2-app 構成
Deno SDK v2 の Automations App は admin.* API の User Token を扱えないため、 slack-utils-channel では Platform App(ワークフロー本体)従来型App(Admin Tokenの格納庫)を併用。 承認後のチャンネル作成だけを従来Appが実行することで、Enterprise Grid の権限境界をきれいに超えます。
Quickstart

3分で動く。
5分でワークスペースへ。

Deno と Slack CLI があればOK。.env を書き換えて slack run するだけ。

01

Deno と Slack CLI を入れる

curl -fsSL https://deno.land/install.sh | shslack login

02

テンプレートをclone

git clone leaveanest/slack-utils または使いたい util を個別にclone

03

.env をコピーしてカスタマイズ

cp .env.example .env — アプリ名・カテゴリ・LOCALE を設定

04

ローカル実行 → デプロイ

slack run で動作確認 → slack deploy で本番へ

主な特徴

情シスに、真面目な足場を。

i18

多言語対応 (i18n)

日本語・英語を標準で切替。LOCALE 環境変数で動的に反映。

zod

Zodでバリデーション

channelId / userId 等の共通スキーマ。動的にエラーメッセージも多言語化。

try

統一の例外処理

API通信・入力検証・Slack関数で try-catch パターンが共通化。

tst

テスト & CI

Deno test + カバレッジ。pre-commit / pre-push で品質を守る。

ci

Claude Code Action

Issue → PR 自動実装、PRコードレビュー、@claudeメンション対応。

mit

MIT License

テンプレとしても、プロダクションでも、自由に改変・利用可能。

About the creators

ナレッジが、自然と共有されている場へ。

slack-utils は、株式会社リバネスナレッジ(Leave a Nest Knowledge)が開発・公開するOSSシリーズです。 Salesforce / Slack / Tableau の伴走支援から、カスタム開発、AIネイティブなSaaS提供まで、 「組織の中に眠る知」をテクノロジーで活かす仕事をしています。

k.lne.st を見る
01テクノロジーアドバイザリー
02テクノロジー伴走支援
03カスタム開発
04SaaS / アプリ
05デジタル人材育成
OSSslack-utils series
Read more

つくり方も、考えていることも、
書いています。

slack-utilsシリーズの背景・設計判断・運用ノウハウを、noteとZennに記録しています。

01 / note

マガジンで追う

マガジンを開く →
Magazine on note · k-note.lne.st

Slack Utils|Leave a Nest Knowledge

あなたの会社のSlackをより便利に深く。Slack Utilsをご紹介。

note Magazine · Leave a Nest Knowledge · 継続更新中
02 / zenn

技術記事で深掘る

Zennで全記事を見る →
Get started

Slackの運用、
次のレベルへ。

まずはテンプレートをcloneしてみてください。5分後、あなたのSlackは少し賢くなっています。