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 オーナー・管理者がこっそり「匿名が壊れるような修正」をするかもしれない
  • 修正をしたら一応形跡は残る
    • 編集の形跡はビルダーの「~~時間前に~~が編集」でわかる
    • オーナー/管理者の介入時は全員に通知が走るようになっている