1. はじめに
こんなネタを提供していただきました。
このアレクサ→Notion をショートカットアプリで出来ないかな🤔#notion#notiontwt https://t.co/vkKtvZy5sb
— たむらりえ|Notionおばさん (@RieTamura36) 2022年7月20日
実は、以前 Siri からカレンダーを登録することで、間接的に Notion に登録する記事を書きました。これはこれでよかったんですが、意外と声で日付を入れるのが面倒で使わなくなりました。
前回の記事で、日付未確定のタスクを用意しました。日付が未確定なので、タスクを To Do ブロックで記述し、日程が決まった段階で、タスクページのカレンダーにドラッグすることで、タスク化する方策です。また、iPhone や iPad で簡単に登録しやすいように入力専用ページを作成していました。
そんなわけで、この To Do ブロックを声で登録してみることにしました。
2. 設計
挿入したいのはこの Toggle ブロックです。URL からこのブロック ID (05a57c5670274582986feb29e99665a5)を取得します。
このブロックに To Do ブロックを追加するショートカットを作ればよいことになります。JSON を書くのは面倒なので、NotionRubyMapping に教えてもらいます。
require "notion_ruby_mapping" include NotionRubyMapping NotionCache.instance.create_client ENV["NOTION_API_KEY"] block = Block.find "05a57c5670274582986feb29e99665a5" print block.append_block_children(ToDoBlock.new("text"), dry_run: true)
結果として以下のシェルスクリプトが出てきました。これを見ながらショートカットの JSON を書きます。
#!/bin/sh curl -X PATCH 'https://api.notion.com/v1/blocks/05a57c5670274582986feb29e99665a5/children' \ -H 'Notion-Version: 2022-02-22' \ -H 'Authorization: Bearer '"$NOTION_API_KEY"'' \ -H 'Content-Type: application/json' \ --data '{"children":[{"type":"to_do","object":"block","to_do":{"rich_text":[{"type":"text","text":{"content":"text","link":null},"plain_text":"text","href":null}],"color":"default","checked":false}}]}'
3. ショートカットの作成
JSON が分かれば簡単です。スクリプトは以下のようになりました。テキストを音声入力して、そのテキストを登録しているだけです。最後にタスク一覧ページを開いています。
4. 実行例
iPhone の Siri での実行例です。完成報告で Tweet しました。Siri を立ち上げ、「タスク登録」と話すと「テキストはなんですか?」と出るのでタスク名を話します。終わると自動的に Notion が開き、タスクが登録されていることがわかります。
完了報告です。Siri →「タスク登録」→「タスク名」で自動的にタスクが入ります。日付が決まったら下のカレンダーにドラッグでタスクデータベースに変換。楽ですね。帰宅したらブログにして、ショートカットも配布します。#notion #Notionしゅふ会 pic.twitter.com/8CbXipkiwU
— hkob|Notion Ambassador (@hkob) 2022年7月20日
なお、上記のショートカットはここで配布しています。iPhone, iPad, Mac の人はこちらをお使いください。
おまけ
このショートカットは Apple Watch でも動きます。Apple Watch では最後の Notion を開く動作が動かないので、これを外した Apple Watch 専用版も作成しました。ショートカットは Apple Watch のコンプリケーションに登録できるので、こんな感じで 3 時の部分に登録してみました。このコンプリケーションをタップすると、音声入力を促されるので、音声入力した上で右上の完了を押すとタスク登録されます。出先などでタスクを思いついたら、Apple Watch だけ(GPS 版はネットワークに繋がっている iPhone も必要)で登録できるのは嬉しいと思います。