Notionの活動記録をAIで要約・保存するサーバーレスアプリケーション
Notionデータベースに記録した活動ログを取得し、Gemini APIで要約して、別のNotionデータベースへ自動保存するサーバーレスアプリケーションを開発しました。 指定日と相対日付による活動ログの取得、日本時間を基準とした日付処理、Gemini APIとの連携、Notionへの保存、Cloud Run functionsへのデプロイまで実装しています。 Notionのプロパティ名に処理を依存させず、プロパティの型から必要なデータを判定する構成にしました。また、同じ日付の要約が存在する場合は新規作成せず更新することで、処理を再実行してもデータが重複しないようにしています。 Gemini APIの一時的な失敗に対応する指数バックオフ付きリトライと、実際のNotion API、Gemini APIを利用するE2Eテストも整備しました。 使用技術: TypeScript / Node.js / Cloud Run functions / Gemini API / Notion API