Slack ワークフロービルダーで匿名フォームを実現する
従来 Slack で匿名フォームを実現するには Google スプレッドシートだの Bot だの必要だったが、ワークフロービルダーを使えばこれ単体で実現できるっぽい。
実現可否
Ans: 可能
アクションメニューを用いて、以下のステップからなるワークフローをつくれば可能。
- 1: 「フォームを作成」ステップ
- 提出された回答をチャンネルまたは DM で他のメンバーに送信する、は チェックしない
- 2: 「メッセージを送信」ステップ
- メッセージのテキストを変数「送信元: XXXX」をする
- これで 1 の内容をそのまま送信できる
1 の「フォームを作成」ステップでチェックを入れると出所(~~さんが送信しました)が出てしまうが、上記のように 「メッセージを送信」ステップをはさむ と出ない。
匿名性の担保について
Ans: 誰かが 名前が表示されるようにワークフローをこっそり修正したら 匿名性は崩れる
ワークフローを修正できるのはコラボレーターのみ。
- デフォはワークフロー作成者のみ
- ワークスペースの管理者 or オーナーは 自分自身をコラボレーターにできる
- ただしこれを行うと全員に通知が行くらしい
参考: ワークフロービルダーのアクセスと権限を管理する - Slack
匿名性に関する疑問
Q: HTML にこっそり送信者名が埋め込まれてたりしない?
Ans: F12 ツールで覗いてみたが見当たらなかったので、たぶん大丈夫。
Q: ワークフロービルダーに実行履歴的なの記録されてない?
Ans: されてないと思う。当該画面は見当たらないし、Slack の API を見ても 2019/10/29 現時点ではそのような機構はない(というかワークフロー絡みのメソッドさえない)。
Q: ワークフロー作成者本人がこっそり修正したことはわかる?
Ans: ビルダー画面にて「~~時間前に~~が編集」という形で 直近の修正日時 だけはわかる
その他疑問
Q: ワークフロービルダーが使えません
Ans: フリープランには非対応。あと 権限が付与されてなければスタンダード以上でもつくれない。
Q: 動作確認したいんだけど、どうすればいい?
Ans: ワークフローを試す用のパブリックチャンネルをつくって、そこで。
ワークフローは パブリックチャンネルに対してしか 設置できないので、何らかのパブリックチャンネルをつくる必要がある。
まとめ
- 匿名フォームは実現できる
- でも性悪説に従うなら万全ではない
- 設置者本人 or オーナー・管理者がこっそり「匿名が壊れるような修正」をするかもしれない
- 修正をしたら一応形跡は残る
- 編集の形跡はビルダーの「~~時間前に~~が編集」でわかる
- オーナー/管理者の介入時は全員に通知が走るようになっている