作ったもの
LINEで学習した内容を送るだけで、AIが自動でカテゴリーを分類し、それらをGoogleカレンダーとNotionに記録するワークフローです!
さらに、毎日22時に、学習記録がない場合にリマインドのLINEをくれます。
・リマインド(LINE)

(記録がないことを伝えると、鼓舞してくれて優しい)
これにより、いつ・どんなことを学習したか、簡単に振り替えることができます。
("今日"何したというよりも、"今週"・"今月"何したかを振り替えられるイメージですね…!)
背景
「エンジニアは学習あるのみ!」でありますので、自分も日頃から、PCに向かってカタカタやっていることが多いです。
そんな中、「あれ、今日何したっけ?」「今週何してたんだっけ?」と、学習したことを把握できていないことがちらほらあります。(興味が転々と移り変わることがあるからでしょう)
把握できていないのなら何もやっていないようなもの、時間を溶かした気がして気持ち悪いので、この状態を解決できたらいいなと感じていました。
そこで、学習記録を簡単に記録でき、かつ便利に振り返りできる仕組みとして構築したのが、今回のワークフローです。
実装内容
概要
以下2つのワークフローで構成されています。
①学習記録ワークフロー
メインとなるワークフローです。
LINEからメッセージを受け取り、Geminiを使用してカテゴリ分類を行い、GoogleカレンダーとNotionへの登録を行います。

②リマインダーワークフロー
リマインダー用のワークフローです。
毎日22時に、その日の学習記録がない場合に確認のLINEをくれます。

それぞれ、実装内容の詳細は以下の通りです。
詳細
学習記録ワークフロー
LINEメッセージの受信
Webhookノードを使用して、LINEボットからのリクエストの受け付けをトリガーとしています。
LINEボットは、LINE Developers Console より作成し、Webhook URLは別途設定済みです。
記録要否の判定
メッセージの内容が、以下のいずれかに当てはまる場合、記録処理を中断しメッセージを返します。
- 「なし」に完全一致
- 「してない」に部分一致
- 「やってない」に部分一致
ちなみに、LINEの返信は、HTTP Request ノードを使用して、LINE Messaging APIを叩いています。
カテゴリー一覧の取得
NotionのGet many databasesノードを使用します。
別途、Notionのインテグレーションを作成し、接続に必要な情報を設定済みです。
ところで、私のNotionワークスペースには、技術情報のトピックをデータベース化したものがあります。
ここから全レコードの情報を取得し、この後分類するカテゴリーの選択肢としています。
カテゴリーの分類
HTTP Request ノードを使用して、Gemini APIを叩いています。
学習した内容とカテゴリーの一覧を渡して、最も適切なカテゴリーを返してもらいます。
APIキーは、Google AI Studio より発行しています。
学習内容の記録
Google Calendar の Create an event ノード、および Notion の Create a database page ノードを使用して、学習内容とそのカテゴリーを登録します。
Google製品への接続に必要となる認証情報は、別途 Google Cloud から作成しています。
リマインダーワークフロー
毎日22時の自動発火
Schedule Trigger を使用して、毎日22時にワークフローを実行するようにしています。
学習記録の取得
Google Calendar の Get many events ノードを使用して、その日記録された学習内容を取得します。
リマインドメッセージの送信
取得結果が空だった場合のみ、リマインドメッセージをLINEで送信します。
以上の通り、基本的にはメインとなる学習記録ワークフローにて、LINE, Gemini, Googleカレンダー, Notionと連携して、学習記録に必要な一連の処理を実施します。
その上で、記録忘れを防ぐために、リマインダーワークフローを日時で走らせる構成です。
デプロイ
Renderにデプロイしています。
選定理由は、Dockerイメージでデプロイでき手軽な点と、コストを抑えられる点が魅力的だったからです。(無料で運用したい)

手順としては、Web Serviceの作成から、n8nの公式イメージ(n8nio/n8n:latest)を指定して、n8nアプリを立ち上げています。
また、DB用のサービスは用意しないことにしました。
理由は当然ケチりたいからです。
n8nは、デフォルトで内蔵されたSQLiteを使用するようなので、こちらを使用することにします。
ただそうすると、n8nのサービスを再デプロイなどすると、当然データが失われてしまいます。
が、ワークフローのエクスポートファイルを保管しておいて、それをもとに手で復元すればいいやという考えです。
使用ツール
- n8n:ワークフローの構築
- LINE Messaging API:LINEボットとのメッセージ
- Gemini API:カテゴリー分類用Geminiの呼び出し
- Googleカレンダー:学習記録の登録先
- Notion:カテゴリーの取得元、学習記録の登録先
- Render:n8nのホスティング
おわりに
ワークフロー構築ツールを初めて触りましたが、画面ポチポチで異なるサービスを連携できるのは、想像以上に便利ですね。
n8nはMCPに対応していたはずなので、自然言語での操作も試してみたく思いました。
今回構築したワークフローですが、GoogleカレンダーとNotion、双方に記録する点が気に入っています。
日にちベースでやったことを知りたい時は、Googleカレンダーで即座に確認できますし、その他分析などしたい時は、やはりNotionのデータベース機能が強力だからです。
身の回りのちょっとした課題解決に、n8nのようなワークフロー構築を活用できると実感しました!











