🐱

Slackのレガシーワークフローの一覧をスクリプトで抽出して引越しをスムーズに進める

2024/07/22に公開

Slackユーザーのみなさん、レガシーワークフローから新しいワークフローへの引越しは終わりましたか?

「え、なにそれ?やばい知らない」という方も「これからなんだよねー」という方もぜひ見ていってください。

引越しが必要な背景

新しいSlackワークフローが2023年9月にリリースされパワーアップしたのですが、その弊害としてそれ以前のSlackワークフローはレガシーワークフローと呼ばれるようになり、徐々に機能停止に向けて進んでいます。

具体的には2024年9月26日に動作を停止し、表示、編集、再公開できなくなります。

表示もできなくなるようなので、それより前に新しいSlackワークフローに引越さないと後が大変になります。。。

とか書くと結構ビビってしまうかもしれませんが、多くのワークフローは自動移行されています。
移行されないワークフローの種類は下記のページに記載されているので確認しておきましょう。

https://slack.com/intl/ja-jp/help/articles/16787711643411-レガシーワークフロービルダーのサポート終了

引越し方法

基本的には ツールと設定 > レガシーワークフロー管理 で表示されるワークフローを ワークスペース内の全員がチェック して必要なワークフローだけ新しいSlackワークフローで作り直せばOKです。
※ 全員がチェックする必要があるのは自分しか権限をもっていないワークフローが存在する場合もあるためです。

しかし、実際問題、全員に確認してもらうのは難しいですよね。
なのですくなくとも 公開されているレガシーワークフローの一覧 が欲しくなるわけです。

公開されている全てのレガシーワークフローの一覧はSlackの管理者なら見れるが・・・

公開されている全てのレガシーワークフローの一覧はSlackの管理者なら、それ用のタブが追加で存在していて見ることが出来ます。またワークフローのマネージャー権限をこの画面からつけることが出来ます。

この一覧を社内ユーザーに展開できればみんなで確認できるのでよさそうですよね。しかし、これエクスポートが出来ないのです。。。
※ この画像は私の持っているテスト用ワークスペースなので2件しか表示されてないのですが、業務利用している場合は100とか超えていてもおかしくないです

ということでエクスポートの代わりに画面の情報から欲しいデータを一覧にするスクリプトを書きました。

スクリプトの使い方

公開されている全てのレガシーワークフローの一覧ページ をSlack管理者以上の権限で表示します。
Chromeデベロッパーツールを開き、Consoleタブで下記のスクリプトを実行します。

let text = '';
document.querySelectorAll('.ReactVirtualized__Table__row.c-data_table__row').forEach(e=> {
    const imgSrc= e.querySelector('img').src;
    const wfName= e.querySelector('.body__hoy8Y').textContent;
    const wfLink= e.querySelector('a').href;
    const edit= e.querySelectorAll('.c-truncate--break_words')[2].textContent;
    console.log(imgSrc, wfName, wfLink, edit);
    text += [imgSrc, wfName, wfLink, edit].join("\t") + "\n";
})
copy(text);

このスクリプトはタブ区切りの値にしてクリップボードにいれる処理になっているので、そのままスプレッドシートなどに貼りつけられます。

公開されている全てのレガシーワークフローの一覧ページは1ページあたり10件ずつしか表示されないので
1ページ目を表示→スクリプト実行→スプレッドシートに貼り付け
2ページ目を表示→スクリプト実行→スプレッドシートに貼り付け
3ページ目を表示→スクリプト実行→スプレッドシートに貼り付け
...

を繰り返していきます。

最終形

少し見やすくしました。
また、Slack WFの画像は公開URLなので IMAGE関数 を使えばわかりやすくなるかと思います。
この一覧を社内のユーザーに展開して「引っ越し頼むぞー、権限なかったらつけるから言ってくれー」とアナウンスしてSlackワークフローの引っ越しをスムーズに進めましょう。

最後に

Chrome Developer ツールのConsole機能はとても便利なのでぜひ活用してみてください。
過去書いた記事と本です。

https://qiita.com/howdy39/items/c22c2cfafab88fa73d15

https://techthetoaster.booth.pm/items/1054598

Discussion