🚀
Slackワークフローでワークフローが使用されたチャンネルに通知しようとするとアクセス権がないとエラーになる場合
この記事の内容はおそらく内部の実装・アーキテクチャ変更に伴った一時的な挙動の可能性が高く、将来的には解消される可能性はありますが、はまったので周知の意味でも書き記しておきます。
はじめに
Slackワークフローでは、メッセージの送信先として "ワークフローが使用されたチャンネル" を設定することができます。
これを利用することで、通知先チャンネルは固定ではなく、動的に変更することができます。たとえば、ワークフローのテストと本番では別チャンネルに通知したいケースで重宝します。
ただし、現在特定の条件でこの通知処理がエラーになります、
その条件としては
- 通知先チャンネルがプライベートチャンネルである
- Canvasからワークフローを起動している
この条件を満たしている場合、以下のようなエラーが発生します。
NG起動パターン
エラーになる起動方法としては、ワークフローのURLをCanvasにカードとして配置していて、そのカードから起動した場合にこの事象が発生しています。
回避するためには以下のOKパターンから起動する必要があります。
OK起動パターン
エラーにならないパターンは以下の三つです。というかCanvasからの起動以外全てです。
- ワークフローURLを通知対象チャンネルにメッセージとして投稿してそのカードから起動する
- ワークフローを自動化メニューの一覧から起動し、起動時にチャンネルを選択する
- 対象チャンネルの上部メニューにワークフローを追加し、そのメニューから起動する
まとめ
起動方法さえ変えればワークフローの設定を変更することなくメッセージ通知先を動的に切り替えることができます。
同じ事象にはまっている誰かの参考になれば幸いです!
Discussion