Suica 利用時にNotionに記録 : Notion Tips (146)

はじめに

Notion Tips の第146回目は Suica 利用時に Notion に情報を記録するショートカットを解説します。

ショートカットオートメーション

iPhone や iPad のショートカットの場合、あるトリガをきっかけに起動することが可能です。時刻だけでなく、ある場所に到着した時、出発した時、ある人からメッセージを受け取った時などです。今回はその中で下にある取引を使ってみます。ここで、Suica を使う場合には、NFC が入っている iPhone でショートカットを作る必要があります。iPad だと Apple Pay の取引しか記録できません。

オートメーションのトリガ

今回は、Suica や nanaco の取引があったときに作業を実行するものにしました。 なお、オートメーションは確認後に実行するようにしています。定期券で支出が発生しない場合もありますし、Suica 自体は自宅や研究室の Sesami を開くためにも利用しているためです。

作成したオートメーション

行うに入っているアクションは以下の通りです。Notion座談会が長引いたのでこんな時間になってしまいました。一つずつ解説します。

  • 金額で数字を要求: 金額というタイトルを表示し、数値入力用のキーボードを表示します。数値は入力の方が正確に入れられそうだからです。
  • 「テキストを音声入力」: 音声で項目名を入力します。ここはいちいちキーボードを打ってられないので、声で入れることにしています。
  • 現在地を取得: 現在の位置情報(住所)をテキストで取得します。オプションで精度を選択できるので、あまり細かい場所を知られたくない場合には、緩めの精度にしておくといいでしょう。
  • Notion ページ作成(サイレント): 最後に Notion で記録します。この時タイトルに「^音声入力テキスト|金額の数値」という形でパックした情報を送ります。これは保存するだけで Notion ページは開きません。
  • アラート: ページが正しく作成されたことを確認するために、最後に音声入力したテキストをアラートとして表示しています。

実行するアクション

データベースオートメーション

データベースではパックされた情報をデータベースオートメーションで分離格納します。これは以前の X の保存で使ったのと同じテクニックです。

作成したデータベースオートメーション

money 変数は以下のようになります。

let(name, prop("トリガーページ").prop("名前"),
    name.test("^\^") ? name.split("|").last().toNumber() : prop("トリガーページ").prop("支出")
)

title 変数は以下のようになります。

let(name, prop("トリガーページ").prop("名前"),
    name.test("^\^") ? name.substring(1).split("|").first() : name
)

プロパティ名が異なるだけで、数式は同じですね。

動作確認 (iPhone)

このショートカット自体は iPhone でしか動作しません。ただし、Apple Watch のSuica で取引した際にも、iPhone 側でショートカットが反応しました。そこで実行を押すとこんな感じで金額入力画面になります。

金額入力画面

その後、音声入力で項目名を入力すると Notion にテキスト合併したタイトルが登録されました。さらに Notion 側のオートメーションが発動することで支出の金額が分離されて登録されていることがわかります。住所はこんな感じで職場の側のコンビニの場所が登録されていました。

実行結果

おわりに

当初、iPhone でしか動作しないと思っていたショートカットでしたが、Apple Watch の Suica を使っても iPhone 側でショートカットが起動しました。Apple Watch 側でも「実行」という画面が出てくるのですが、上手く起動しませんでした。後で金額の部分も音声入力にすることで Apple Watch でも動作するかどうかを試してみたいと思います。

hkob.notion.site