1年間運用してきた楽天ペイ自動記帳をベースに、対応決済を大幅に拡張。メール受信即時記帳 + ntfy通知まで実現しました。
前の投稿では人様の経験を再現したもので、実はあれで1年間運用してきました。最近またn8nをいじるようになり、これを機にZaimへの自動記帳を大幅に強力化してみました。

n8n ― エンジニア目線で使い勝手最強の自動化ツール
n8nとは
n8nを一言でいうと、エンジニア目線で使い勝手が最強な自動化ツールです。文系の私でも、iftttの代替として十分に活用できています。インストールはEasyPanelにテンプレートがあります。
何ができる?
Slack・Google・Notion…など数百のアプリを繋いでルーチンワークを自動化します。
最大の強み
セルフホストすれば実行回数に関わらず基本無料で使い放題です。
自由度
ノードを線でつなぐ視覚操作に加え、JavaScriptでの深いカスタマイズも可能です。
前回の仕様と今回の目標
前回実現できた機能を土台に、今回はより即時性・対応範囲・利便性を高めます。
| 項目 | 前回 | 今回(強化) |
|---|---|---|
| 自动运行时间点 | 設定した時間間隔ごと | メール受信と同時に即時記帳 |
| 対応メール | 実店舗・オンライン決済 | 楽天モバイル・らくらく投資・マック等ネット注文も追加 |
| 出金元 | 楽天ペイのみ | ANA Pay・メルペイなど通知メールがあれば何でも対応 |
| 通知 | なし | ntfyでリアルタイム通知 |
| 失敗時の救済 | なし | MarcoDroidで手動記帳ボタンを用意 |
WorkFlowの設計

WorkFlow全体図。複数の決済メールを1つの流れに統合している。
見た目はごちゃごちゃですが、理屈はシンプルで4ステップです。
Gmail Triggerで各社公式メールをキャッチ
内容を整理し、<日時><金額><店舗>だけのメールとして自分に送信
HTTP REQUESTでGASスクリプトを発動しZaimに記帳
HTTP REQUESTでntfyに通知を送信
この設計にした理由

各社バラバラのメールを統一フォーマットに圧縮してからGASに渡す
複数社対応の効率化:各社のメールは書式が異なります。GASで正規表現を個別に書くこともできますが、n8nなら視覚的に素早くパターンを追加でき、新しい決済手段が増えても労力を最小限に抑えられます。
即時性のためのトリガー変更:時間間隔トリガーではなく、Gmail Triggerで即時発動させたいため、GASのコードをHTTP REQUESTで呼び出せる形に改修しました。
安心のための通知:記帳されたことをリアルタイムで確認できるよう、ntfyへの通知を組み込みました。
完成するとこうなる

Zaimに自動で記帳された支出履歴

支払いから約2分後にntfyで通知が届いた
.png)
:CasaOS-与轻量服务-1024x591.png)


コメントは受け付けていません。