見出し画像

Notion で(自分なりの)タスク・時間管理を行う「新たな」方法(ショートカットアプリ編)

前回は、カレンダーに入れておいた「休み」という予定に応じて、「今日のプラン」に表示されるルーチンが、「休日」に実行するものだけに、
すなわち、祝日や有給休暇なども含め、「平日」にしか実行しないタスクは表示されないよう、自動で切り替わるようにする方法を説明しましたが、

今回は、打って変わって、Notion に関連する「ショートカット」について、紹介してみたいと思います。

と言っても、ここで言う「ショートカット」というのは、いわゆる「キーボードショートカット」のことではなく、

これからするのは、Apple の「ショートカットアプリ」の話です。

この記事も、実は、かなり前から、書きたいと思っていたんですよね。

そもそも、年末に引用リポストさせてもらった、以下の内容にヒントを得たものだったのですが、

多分、具体的な例を見てもらった方が分かりやすいと思うので、早速、始めていきましょう!


タスクを追加するショートカット

例えば、Notion アプリがダウンロードされている iPhone などで、以下のようなショートカットを作成しておき、実行すれば、

ショートカットを作成する

画面上に「プロンプト」が出てきてくれるので、そこにタスク名を入力して、「完了」をタップします。

※ ちなみに、上の手順中の「クリップボードにコピー」というアクションは、ショートカットの実行に失敗した時の保険で、必須ではありません。
再実行する際に、タスク名を入力し直すのが面倒なら、クリップボードから貼り付けるだけで良い、というわけですね。

タスク名を入力する

ショートカットが実行されると、Notion アプリが起動して、新規作成されたページが開くので、本文を入力するなどしていきましょう。

作成された「タスクページ」が開く

ここで、すぐに着手しても良いですし、もちろん、「ログリスト」には「未実行」のタスクとして残り続けるため、後から実行することもできます。

つまり、「RoutineGarden」の場合は(今の私の表示方法だと、少し分かりにくいのですが)実行中のタスクの下に、追加されていく感じですね。

「フォーカス」ビューで確認する

必要に応じて、実行中と未実行のタスクを区別しやすいようにしたり、「着手する」ボタンも、表示させておいたりした方が良いかもしれません。

ただ、このように、単純にタスクを追加するだけなら、個人的には、Notion 上で「ボタン」を作成しておく方が、オススメです。

「新規ページ」として「ログリスト」にページを追加するボタンを作成する

これなら、全く手間をかけず、データベーステンプレートを適用したり、「単発タスク」ルーチンに、タスクを紐付けたりもできます。

しかし、やりたいことによっては、実は、ショートカットを使った方が、むしろ、柔軟性が高いケースというのもあるのを、ご存知でしょうか?

実行中のタスクページを開く

特筆すべきは、ショートカットを使えば、なんと、Notion の API を実行することも可能だという点です。

これまで、カレンダーの予定を「今日のプラン」に追加するなど、「定期的に自動実行させたい処理」には、GAS を使ってきましたが、

ボタンを押した時など、「任意のタイミングで実行したい処理」の場合は、ショートカットを利用するのも、良い選択肢でしょう。

何せ、そのボタンは、iPhone などの「ホーム画面」や「コントロールセンター」等にも、配置できるのですから。

しかも、API が使えるということは、例えば、iPhone などで、「現在、実行中のタスクのページを開く」というようなことさえ、可能です。

私は、iPhone 15 Pro を使っているので、とあるショートカットを「アクションボタン」に割り当てて、
PC 上で開始したタスクの(ルーチン)ページを、スマホでも一発で開けるようにしたりなどしています。

とりあえず、主な処理としては、こんな感じの流れになるでしょうか。

「タスクページ」を開くショートカットを作成する

いちばん上の「テキスト」に入っているのは、「ログリスト」データベースの ID なのですが、その調べ方も含め、
そもそも、Notion API の使い方については、次の記事などで振り返って、準備しておいてください。

つまり、API を利用するためには、Notion 側での設定や「内部インテグレーションシークレット」が必要なのですが、
その辺の説明は、ここでは省略して、話を進めていきます。

上のショートカットの処理の中で、特に重要なのは、やはり「〇〇の内容を取得」という部分でしょう。

iPhone 上では、ちょっと入力が大変なので、私は、Mac の方で作業を行なったのですが、例えば、次のように設定した場合、

ショートカットで Notion API を実行する

これは、GAS で、以下のようなコードを実行するのと、多分、同様です。

function test() {
  const data = { "filter": { "property": "ステータス", "status": { "equals": "進行中" } } };
  const options = {
    'method': 'post',
    'headers': {
      'Authorization': 'Bearer ntn_XXXXXXXXXX',
      'Content-Type': 'application/json',
      'Notion-Version': '2022-06-28'
    },
    'payload': JSON.stringify(data)
  };
  const response = UrlFetchApp.fetch('https://api.notion.com/v1/databases/xxxxxxxxxx/query', options);
  const contents = JSON.parse(response.getContentText());
  console.log(JSON.stringify(contents.results, null , "  "));
}

ここで、「ntn_XXXXXXXXXX」は「内部インテグレーションシークレット」で、「xxxxxxxxxx」は、「ログリスト」データベースの ID ですね。

上のスクリーンショットでは隠れていますが、これらも、ちゃんと設定しておけば、ショートカットからでも API を実行できると思います。

そして、それ以降の処理は、「辞書の値を取得」で、タスクの「url」の値を取得して、「URL を開く」で、その「辞書の値」を開いているだけです。

ちなみに、「繰り返し」を用いているのは、API から返ってくる「results」が、複数の要素を含む「配列」だからで、
もし、実行中のタスクが複数あった場合は、一つずつ順番に処理されることになります。

ただ、ブラウザではなく、Notion アプリだと、複数のページをタブで開けないため、最後に開いたページが表示される形になるかもしれません。

それでも、一応、その状態から(左にスワイプするなどして)前のページへ戻れば、直前に開かれたページも確認することが可能です。

実行中のタスクのルーチンページを開く

ところで、「RoutineGarden」の場合は、「タスクページ」よりも「ルーチンページ」を開きたいところですよね。

まぁ、そうでなくとも、参考になる部分があるかもしれないので、こちらも、簡単に紹介しておきましょう。

とは言え、API の実行の仕方は全く同じで、単に、得られた結果の中に含まれる、「ルーチン」の情報を、上手く取得して、少し加工するだけです。

「ルーチンページ」を開くショートカットを作成する

要するに、タスクに紐付く「ルーチンページ」を開くためには、そのルーチンの ID が必要なので、その値を「辞書」の中から取得し、
上のように、その文字列から、ハイフン「-」を削除して、開くべき「ルーチンページ」の URL を作成しています。

あと、もし、実行中のタスクがなかった場合には、「RoutineGarden」のトップページなど、任意のページが開くように、
一応、「繰り返しの結果」の「値がない」場合に実行される処理も、いちばん下に付け足しておくと良いでしょう。

まとめ

今回は、Apple の「ショートカット」アプリを使って、Notion API を実行する方法を、とりあえず、簡単なものから、紹介してみました。

そうは言っても、そもそも、ショートカットを全く作ったことのない人には、少し難しかったかもしれませんが、
ともあれ、まずは、本記事でも登場した、以下のような「アクション」について、使えるようになることから、始めてみてください。

  • 入力を要求

  • if 文

  • テキスト

  • 変数を設定

  • URL の内容を取得

  • 辞書の値を取得

  • 各項目を繰り返す

  • URL を開く

  • テキストを置き換え

あとは、「結果を表示」というアクションが使いこなせると、デバッグ作業も行いながら、試行錯誤しつつ、なんでも作っていけると思います。

特に、今回は紹介しませんでしたが、例えば、次のようなアクションもありますし、

  • テキストを音声入力

  • テキストを読み上げる

ショートカットは、Apple Watch から実行できたりもするので、少なくとも、挑戦してみる価値はあるのではないでしょうか?

というわけで、何か、便利なショートカットが思いついたら、是非、私にも教えてくださいね。

ではまた。

いいなと思ったら応援しよう!