ニュースとメールを同時に自動化した

毎朝5時にAIが記事を書いて、下書き保存してくれる。
自分は朝起きて確認して、公開ボタンを押すだけ。そんな理想の状態が、ようやく形になってきました。
次はAIエージェントナビで毎日更新している「ニュース記事」と、HubSpotで配信しているメールマガジン自動化できないか、Navに相談してみました。
ニュース記事の自動化を設計する
まず、ニュース記事のフローをNavと一緒に整理しました。
この設計で news_pipeline.py を作ることになりました。
コラム記事と大きく違うのは、記事の「素材」がURLだということ。記事本文を書くエージェントは、渡されたURLの内容を読み込んで、ニュースとして再構成します。
また、ニュース記事専用の投稿タイプ(newsカスタム投稿タイプ)に保存する設計にしました。コラム記事と一覧ページが混在しないようにするためです。
HubSpotとの連携でハマったこと
ニュース記事の執筆自体はスムーズに動いたのですが、HubSpot連携で少し苦労しました。
メール名の重複問題
HubSpotのメール下書きには「メール名」が必要で、うちは 最新ニュース_MMDD という形式で管理しています。
問題は、同じ日に複数件処理しようとしたとき。最新ニュース_0314 がすでに存在する状態でもう1件作ると、名前が重複してしまう。
これで解決しました。毎回日付を気にしなくていい。地味だけど、こういう細かい自動化の積み重ねが大事だと思っています。
HubSpot APIの注意点
HubSpotのメール操作で最初に試したのは「既存メールを複製する」方法でした。でも、HubSpotのAPIにはクローンエンドポイントがない。
正解は「テンプレートを取得→ウィジェットの中身を差し替え→新規POSTで作成」という流れ。このやり方にたどり着くまで、ちょっと時間がかかりました。
もう一つ重要な制約として、メールの更新(PATCH)は全ウィジェット置き換えになります。一部だけ書き換えようとすると、他のウィジェットが消える。なのでテンプレートから全ウィジェットを取得して、まとめて送り直す設計にしています。
ファクトチェックが「2026年は未来」と言い張った
もう一つ、予想外のバグがありました。
ファクトチェックエージェントが「2026年は未来の日付です」と指摘してくる。
原因はシンプルで、Geminiの学習データのカットオフが2025年8月だったから。2026年という日付を見て、勝手に「未来のことは確認できない」と判断していたんです。
修正方法も単純で、プロンプトの冒頭に datetime.date.today() で取得した今日の日付を入れるだけ。「今日は2026年3月14日です。2026年は未来ではありません」と明示する。それで誤判定がなくなりました。
AIって賢いけど、こういう「現在地」を教えてあげないといけないところが、まだまだ人間の仕事だなと思います。
/newsコマンド一つで完結する仕組みになった
最終的に出来上がった仕組みはこうです。
気になるニュースのURLをメモしておいて、Claude Codeで /news と打つ。テキストファイルにURLとメモを書いて保存すると、パイプラインが動き出します。
- 執筆エージェントがニュース記事を生成(アイキャッチ用の20文字テキストも自動生成)
- ファクトチェックエージェントが内容を確認
- WordPressのnews投稿タイプに下書き保存
- HubSpotにメール下書きを作成
終わったらNavが結果を報告してくれる。WordPressのプレビューURLと、HubSpotの下書きがどこにあるか。自分は確認して、問題なければ両方公開するだけ。
ニュースを書いてメールを準備する、という作業が10〜15分かかっていたのが、ほぼゼロになりました。
次回予告
ここまで来ると、チャットを1つで全部やろうとすることに限界を感じ始めました。
記事生成、SEO分析、ニュース対応……やることが増えると、一つのチャットでは文脈が混ざる。そこで試してみたのが、チャットを2つ同時に立ち上げる方法です。
次回は「チャットを2つ並行にしたら、思った以上に大変だった」というお話です。





