![見出し画像](https://assets.st-note.com/production/uploads/images/172757386/rectangle_large_type_2_a3c28063c536c1785d64c529abd026ba.png?width=1200)
Notion で(自分なりの)タスク・時間管理を行う「新たな」方法(ショートカットアプリ編)
前回は、カレンダーに入れておいた「休み」という予定に応じて、「今日のプラン」に表示されるルーチンが、「休日」に実行するものだけに、
すなわち、祝日や有給休暇なども含め、「平日」にしか実行しないタスクは表示されないよう、自動で切り替わるようにする方法を説明しましたが、
今回は、打って変わって、Notion に関連する「ショートカット」について、紹介してみたいと思います。
と言っても、ここで言う「ショートカット」というのは、いわゆる「キーボードショートカット」のことではなく、
これからするのは、Apple の「ショートカットアプリ」の話です。
この記事も、実は、かなり前から、書きたいと思っていたんですよね。
そもそも、年末に引用リポストさせてもらった、以下の内容にヒントを得たものだったのですが、
「 URL の内容を取得 」と言われると、ちょっと分かりにくいですが、確かに、Apple 標準のショートカットで API リクエストが送れるなら、結構、なんでもできそうですね。というか、大体は、これで十分かもしれない。同時にタイマーをセットできるのもいいし、他にも応用範囲が広がりそうでもある。 https://t.co/7PryT7OJPf
— 正塩 (@normalsalt) December 30, 2024
多分、具体的な例を見てもらった方が分かりやすいと思うので、早速、始めていきましょう!
タスクを追加するショートカット
例えば、Notion アプリがダウンロードされている iPhone などで、以下のようなショートカットを作成しておき、実行すれば、
![](https://assets.st-note.com/img/1738389010-BrFGVd6NetXq0smHYJkU71c4.png?width=1200)
画面上に「プロンプト」が出てきてくれるので、そこにタスク名を入力して、「完了」をタップします。
※ ちなみに、上の手順中の「クリップボードにコピー」というアクションは、ショートカットの実行に失敗した時の保険で、必須ではありません。
再実行する際に、タスク名を入力し直すのが面倒なら、クリップボードから貼り付けるだけで良い、というわけですね。
![](https://assets.st-note.com/img/1738389396-YwkSu7CaoX8givdTp5lx1BtQ.png?width=1200)
ショートカットが実行されると、Notion アプリが起動して、新規作成されたページが開くので、本文を入力するなどしていきましょう。
![](https://assets.st-note.com/img/1738389743-A1m2lYqcLxP5ZG3SRwdke8Nj.png?width=1200)
ここで、すぐに着手しても良いですし、もちろん、「ログリスト」には「未実行」のタスクとして残り続けるため、後から実行することもできます。
つまり、「RoutineGarden」の場合は(今の私の表示方法だと、少し分かりにくいのですが)実行中のタスクの下に、追加されていく感じですね。
![](https://assets.st-note.com/img/1738389950-HBDbIuz6rxF5Spc42dGCZf8k.png?width=1200)
必要に応じて、実行中と未実行のタスクを区別しやすいようにしたり、「着手する」ボタンも、表示させておいたりした方が良いかもしれません。
ただ、このように、単純にタスクを追加するだけなら、個人的には、Notion 上で「ボタン」を作成しておく方が、オススメです。
![](https://assets.st-note.com/img/1738474825-1QBkAFc8693eZtdsj5Hv0rXE.png?width=1200)
これなら、全く手間をかけず、データベーステンプレートを適用したり、「単発タスク」ルーチンに、タスクを紐付けたりもできます。
しかし、やりたいことによっては、実は、ショートカットを使った方が、むしろ、柔軟性が高いケースというのもあるのを、ご存知でしょうか?
実行中のタスクページを開く
特筆すべきは、ショートカットを使えば、なんと、Notion の API を実行することも可能だという点です。
これまで、カレンダーの予定を「今日のプラン」に追加するなど、「定期的に自動実行させたい処理」には、GAS を使ってきましたが、
ボタンを押した時など、「任意のタイミングで実行したい処理」の場合は、ショートカットを利用するのも、良い選択肢でしょう。
何せ、そのボタンは、iPhone などの「ホーム画面」や「コントロールセンター」等にも、配置できるのですから。
しかも、API が使えるということは、例えば、iPhone などで、「現在、実行中のタスクのページを開く」というようなことさえ、可能です。
私は、iPhone 15 Pro を使っているので、とあるショートカットを「アクションボタン」に割り当てて、
PC 上で開始したタスクの(ルーチン)ページを、スマホでも一発で開けるようにしたりなどしています。
とりあえず、主な処理としては、こんな感じの流れになるでしょうか。
![](https://assets.st-note.com/img/1738475531-82wFiqMbpdkVWCrKc763Hzvy.png?width=1200)
いちばん上の「テキスト」に入っているのは、「ログリスト」データベースの ID なのですが、その調べ方も含め、
そもそも、Notion API の使い方については、次の記事などで振り返って、準備しておいてください。
つまり、API を利用するためには、Notion 側での設定や「内部インテグレーションシークレット」が必要なのですが、
その辺の説明は、ここでは省略して、話を進めていきます。
上のショートカットの処理の中で、特に重要なのは、やはり「〇〇の内容を取得」という部分でしょう。
iPhone 上では、ちょっと入力が大変なので、私は、Mac の方で作業を行なったのですが、例えば、次のように設定した場合、
![](https://assets.st-note.com/img/1738476319-psjg3XnTH5UaNozGumyhE40e.png?width=1200)
これは、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 の実行の仕方は全く同じで、単に、得られた結果の中に含まれる、「ルーチン」の情報を、上手く取得して、少し加工するだけです。
![](https://assets.st-note.com/img/1738478274-JYqTCXQIc3KHbM98ePSj5s2A.png?width=1200)
要するに、タスクに紐付く「ルーチンページ」を開くためには、そのルーチンの ID が必要なので、その値を「辞書」の中から取得し、
上のように、その文字列から、ハイフン「-」を削除して、開くべき「ルーチンページ」の URL を作成しています。
あと、もし、実行中のタスクがなかった場合には、「RoutineGarden」のトップページなど、任意のページが開くように、
一応、「繰り返しの結果」の「値がない」場合に実行される処理も、いちばん下に付け足しておくと良いでしょう。
まとめ
今回は、Apple の「ショートカット」アプリを使って、Notion API を実行する方法を、とりあえず、簡単なものから、紹介してみました。
そうは言っても、そもそも、ショートカットを全く作ったことのない人には、少し難しかったかもしれませんが、
ともあれ、まずは、本記事でも登場した、以下のような「アクション」について、使えるようになることから、始めてみてください。
入力を要求
if 文
テキスト
変数を設定
URL の内容を取得
辞書の値を取得
各項目を繰り返す
URL を開く
テキストを置き換え
あとは、「結果を表示」というアクションが使いこなせると、デバッグ作業も行いながら、試行錯誤しつつ、なんでも作っていけると思います。
特に、今回は紹介しませんでしたが、例えば、次のようなアクションもありますし、
テキストを音声入力
テキストを読み上げる
ショートカットは、Apple Watch から実行できたりもするので、少なくとも、挑戦してみる価値はあるのではないでしょうか?
というわけで、何か、便利なショートカットが思いついたら、是非、私にも教えてくださいね。
ではまた。