課題感
現職では週次で問い合わせを各チームで持ち回っているのだが、メンションはほぼ全チームに飛んでいるので、対応しない週でも常にメンションが来るので興味がどうしても持っていかれてしまう。これはいいことでもあるのだが、必要なときだけ呼ばれたほうがいいっちゃいいので、ボットでコミュニケーション整理できるような手段を作った。ボットの名前はSlaffic Controlです。
- URL=
コアバリューは問い合わせと一緒にメンションを飛ばせることと、履歴管理できることと、メンションを自動でローテーションできることで、それらをSlackフォームベースで実現しています。このあたりがワークフローだとちょっとかゆい感じ。
Slaffic Control の特徴
🔹 メンションで問い合わせを自動登録
Slack で @bot 〇〇〇
とメンション付きで投稿するだけで、問い合わせとして自動登録 されます。
例えば、
@bot サーバーが落ちています!
とメンションすると、Bot は以下のようにレスポンスします。
✅ @username さんの問い合わせを受け付けました。
📝 内容: サーバーが落ちています!
🔖 緊急度: 未設定
この問い合わせは履歴として保存され、後で確認することができます。
またボット名だけでコールするとメニューが出ます。

問い合わせを行うを選択するとフォームが出てきて、そちらからも問い合わせを入力できます。
📜 問い合わせ履歴の確認
過去の問い合わせは、Bot に 履歴表示のリクエスト をすることで確認可能です。 例えば、以下のように問い合わせ一覧を表示します。

これにより、
- 過去の問い合わせを簡単に検索できる
- Slack のリンクをクリックすれば、該当のスレッドに直接飛べる
というメリットがあります。
🔄 担当者のローテーション
定期的に 担当者をローテーション する機能も搭載しています。問い合わせが行われたときは先頭の担当者にメンションが飛びます。 例えば、毎週月曜日の朝9時に、以下のように担当者がローテーションされます。
🌀 担当ローテーション
──────────────────────
🔔 新しい担当者: @username 🎯
📋 新しい担当順:
1. @username1
2. @username2
3. @username3
──────────────────────
この機能により、
- チーム内の対応負担を分散できる
- ローテーションが自動化され、手動管理が不要になる
といった効果が期待できます。
✏️ メンションの設定
Slaffic Control では、
- 誰にメンションを飛ばすのか
- グループメンション (Slack User Group) を使うか
を自由に設定できます。
例えば、
@dev-team, @on-call
と設定すると、次のように問い合わせが投稿されます。
📩 新しい問い合わせ
──────────────────────
🔔 担当者: @dev-team
🚨 緊急度: 高い
📝 問い合わせ内容:
>>> API のレスポンスが遅いです
──────────────────────
これにより、 適切なチームメンバーに通知を送ることが可能 になります。
技術的なところ
DBはsqlite3を使っています。これはk8sのPVCなどを利用すればある程度データが消えないし、高速だし、ボットの性質上消えてもさほど問題ないデータが多いからです。Slackに送っているデータ、ローカルのストレージにおけないケースはほとんどないと思うので、そういう選択をしています。
まとめ
Slaffic Control は、
✅ Slack での問い合わせ管理を自動化 ✅ 問い合わせ履歴を管理・可視化 ✅ 担当者をローテーションして負担を分散 ✅ チームに最適なメンション設定をカスタマイズ可能
という便利な機能を提供する Slack Bot です。まだ僕も運用してないのですが手元ではいい感じに動いているので行ける気がします!!!