はじめに
hkob の雑記録の第149回目は、Alfred の Workflow 紹介に戻ります。現在実行中のタスクを終了する Finish the executing tasks Workflow を解説します。
これまでの Finish the executing tasks Workflow
Finish the executing tasks Workflow は現在実行中のタスクを終了するだけのワークフローです。Workflow は以下のようになっています。後段の部分はこれまでと同様に Prefab に置き換えました。「finish」とすると実行しているタスクが終了します。一つ一つの設定を詳しくみていきます。

最初の finish はこれまでと同様にキーワードなので特殊なことはしていません。引数はありませんので、No Argument になっています。

Run Script は以下のようになっています。今回は Next step にチェックが入っている全てのページに対して、チェックを外すだけです。その後、TOP_PAGE を返します。TOP_PAGE は https で書かれているので、notion に書き換える処理を実施した後で、URL を開きます。

スクリプトは以下のようになっています。
require "notion_ruby_mapping" include NotionRubyMapping pname = "Next step" NotionRubyMapping.configure { |c| c.token = ENV["NOTION_API_KEY"] } db = Database.find ENV["TASK_DB_ID"] cp = db.properties[pname] db.query_database(cp.filter_equals(true)).each do |p| p.properties[pname].checkbox = false p.save end print ENV["TOP_PAGE"]
Workflow の改修
特に今回は修正するところは多くないです。TOP_PAGE はそもそも notion で開くので、変数自体を notion:// に修正してしまいました。

最終的にワークフローは Replace が外れただけで、大きな変更はありません。

ちなみに、こうやってチェックボックスが外されたタスクは Set end time データベースオートメーションにより、終了時刻のセットと Status を Completed に変更する処理が行われます。
おわりに
Finish the executing task は現在実行中のタスクを全て終了する Workflow です。会議や授業などが終了時に Alfred から「fin」とするだけでタスクが完了するので非常に便利です。