GAS×Claude APIでSlackにAIニュース要約を自動投稿する方法|毎朝の情報収集を完全自動化

当ページのリンクには広告が含まれています。
IT女子 アラ美
🚀 毎朝ニュースチェックに30分も使ってるの?
GAS×Claude APIで情報収集を自動化する基盤を整えなさい
24万社が導入!法人向けレンタルサーバー【XServerビジネス】
この記事の結論
Google Apps Script(GAS)とClaude APIを組み合わせれば、毎朝自動でAI技術ニュースを要約してSlackに投稿する仕組みを無料で構築できます。設定は約30分で完了し、チーム全体の情報収集工数を週あたり2〜3時間削減できます。

お疲れ様です!IT業界で働くアライグマです!

「技術ニュースを追いたいけど、毎朝RSSやXを巡回する時間がない」「チーム全体に最新情報を共有したいが、手動だと続かない」。こんな悩みを抱えているエンジニアやPjMは多いのではないでしょうか。

本記事では、GASとClaude APIを連携させて、ニュース収集→AI要約→Slack投稿を完全自動化する手順を、実際のコード付きで解説します。

目次

GAS × Claude APIによるニュース自動要約が注目される背景

IT女子 アラ美
💡 GAS×AIの開発スキル、独学で回り道してない?
プログラミングとAI活用を体系的に学べるスクールがあるわよ
資格と仕事に強い!個人レッスンのプログラミングスクール【Winスクール】

エンジニアにとって技術トレンドのキャッチアップは重要ですが、情報源が分散しているのが現実です。GitHub Trending、Qiita、Zenn、Hacker News、各社ブログと、巡回先は増える一方で、朝の30分があっという間に溶けていきます。

  • 情報量の爆発:AI関連だけでも毎日数十件の記事が公開されており、取捨選択に時間がかかります
  • チーム共有の形骸化:「いい記事あったよ」と口頭で伝えても、ログに残らず情報が属人化します
  • 継続の難しさ:手動での情報共有は1〜2週間で途切れるのがほとんどです

GASはGoogleアカウントがあれば無料で使えるサーバーレス環境で、定期実行(トリガー)機能を備えています。ここにClaude APIの要約能力を組み合わせることで、情報収集の自動化パイプラインを構築できます。エンジニア向けの情報収集ツールについては、DevPickによるAI技術ニュースフィードでも別のアプローチを紹介しています。

IT女子 アラ美
GASとClaude APIの組み合わせは、他の自動化ツールと比べてどんな利点がありますか?

ITアライグマ
サーバー不要・無料枠で運用でき、JavaScriptで書けるのでエンジニアの学習コストが低い点が最大の利点です。

前提条件と必要な環境

この自動化パイプラインを構築するには、以下の環境とアカウントが必要です。

  • Googleアカウント:GASの実行環境として使用。無料プランで十分です
  • Anthropic APIキー:Claude APIの利用に必要。Haiku 4.5であれば月額数百円程度で収まります
  • Slack Webhook URL:Slackの「Incoming Webhooks」アプリで取得。チャンネルへの投稿権限が必要です
  • RSSフィードURL:ニュースソースのRSS。Qiita、Zenn、Hacker News等が対応しています

GASの実行時間制限は1回あたり6分(無料アカウント)です。Claude APIへのリクエストは通常2〜3秒で返るため、5〜10件程度の記事要約なら余裕を持って処理できます。

ローカルLLMでの代替を検討する場合は、ローカルLLM環境構築ガイドを参考にしてください。ただし、GASからローカル環境にアクセスするにはトンネリングが必要になるため、まずはクラウドAPIでの運用をおすすめします。

IT女子 アラ美
Claude APIの料金はどれくらいかかりますか?月額予算が気になります。

ITアライグマ
Haiku 4.5なら1記事要約あたり約0.1円です。毎朝10件処理しても月額30円程度ですよ。

GASプロジェクトの作成とClaude API連携

ここからは実際のコードを使って、GASからClaude APIを呼び出す仕組みを構築します。

GASプロジェクトの新規作成

Google Driveから「Google Apps Script」を新規作成します。プロジェクト名は「AI News Summary Bot」など分かりやすい名前を付けてください。

まず、Claude APIを呼び出す関数を作成します。


// Claude API呼び出し関数
function callClaudeAPI(prompt) {
  const API_KEY = PropertiesService.getScriptProperties().getProperty('CLAUDE_API_KEY');
  const url = 'https://api.anthropic.com/v1/messages';

  const payload = {
    model: 'claude-haiku-4-5-20251001',
    max_tokens: 1024,
    messages: [{ role: 'user', content: prompt }]
  };

  const options = {
    method: 'post',
    headers: {
      'Content-Type': 'application/json',
      'x-api-key': API_KEY,
      'anthropic-version': '2023-06-01'
    },
    payload: JSON.stringify(payload),
    muteHttpExceptions: true
  };

  const response = UrlFetchApp.fetch(url, options);
  const json = JSON.parse(response.getContentText());
  return json.content[0].text;
}

APIキーの安全な保管

APIキーをコードにハードコードするのは厳禁です。GASのスクリプトプロパティに保存します。「プロジェクトの設定」→「スクリプトプロパティ」から CLAUDE_API_KEY を追加してください。

Claude Codeの拡張機能については、Antigravity Awesome Skillsの活用ガイドでも詳しく解説しています。

IT女子 アラ美
GASのスクリプトプロパティに保存したAPIキーは安全ですか?漏洩が心配です。

ITアライグマ
Google側で暗号化されており、コードに直書きするよりはるかに安全です。共有設定にだけ注意してください。

ニュース取得・要約・Slack投稿の自動化パイプライン

次に、RSSからニュースを取得し、Claude APIで要約し、Slackに投稿する一連のパイプラインを構築します。

RSSフィードの取得と解析


// RSSフィードからニュースを取得
function fetchRSSNews(feedUrl, maxItems) {
  const xml = UrlFetchApp.fetch(feedUrl).getContentText();
  const document = XmlService.parse(xml);
  const root = document.getRootElement();
  const ns = root.getNamespace();
  const items = root.getChild('channel', ns).getChildren('item', ns);

  return items.slice(0, maxItems).map(item => ({
    title: item.getChildText('title', ns),
    link: item.getChildText('link', ns),
    description: item.getChildText('description', ns) || ''
  }));
}

要約の生成とSlack投稿


// メイン関数:ニュース収集→要約→Slack投稿
function dailyNewsSummary() {
  const feeds = [
    { url: 'https://zenn.dev/feed', name: 'Zenn' },
    { url: 'https://qiita.com/popular-items/feed', name: 'Qiita' }
  ];

  let allNews = [];
  feeds.forEach(feed => {
    const news = fetchRSSNews(feed.url, 5);
    allNews = allNews.concat(news.map(n => ({ ...n, source: feed.name })));
  });

  const prompt = `以下のニュース記事を、エンジニア向けに日本語で要約してください。
各記事を1〜2文で要約し、重要度の高い順に並べてください。

${allNews.map(n => `[${n.source}] ${n.title}\n${n.description}`).join('\n\n')}`;

  const summary = callClaudeAPI(prompt);
  postToSlack(summary, allNews);
}

// Slack投稿
function postToSlack(summary, news) {
  const webhookUrl = PropertiesService.getScriptProperties().getProperty('SLACK_WEBHOOK_URL');
  const payload = {
    text: `📰 *本日のAI・技術ニュース要約*\n\n${summary}\n\n` +
          news.map(n => `• <${n.link}|${n.title}>`).join('\n')
  };

  UrlFetchApp.fetch(webhookUrl, {
    method: 'post',
    contentType: 'application/json',
    payload: JSON.stringify(payload)
  });
}

定期実行トリガーの設定

GASの「トリガー」機能を使って、毎朝自動実行を設定します。「編集」→「現在のプロジェクトのトリガー」から、dailyNewsSummary 関数を時間主導型 → 日タイマー → 午前7時〜8時で設定してください。

AIを活用した自動化の別のアプローチとして、CLI-Anythingによるエージェント自動化も参考になります。

IT女子 アラ美
トリガーの実行が失敗した場合、通知は来ますか?リカバリーが心配です。

ITアライグマ
GASはトリガー失敗時にメール通知を送ってくれます。エラーハンドリングを入れておけばさらに安心ですよ。

ケーススタディ:チーム情報共有の効率化

IT女子 アラ美
💡 API通信を暗号化もせずに使ってるの?
国産VPNでセキュリティ対策しながらAPI連携しなさい
安心と信頼の国産VPNが固定IPで利用可能【MillenVPN専用サーバー】

木村さん(33歳・テックリード・経験8年)のチームでGAS×Claude APIによるニュース自動要約を導入した事例を紹介します。

状況(Before)

  • 8人の開発チームで、技術トレンドの共有は各自に任されていた
  • 週次の「技術共有タイム」はあったが、準備に1人あたり30分×8人=週4時間を消費
  • 共有内容が属人的で、退職者が出ると知見が途切れるリスクがあった
  • Slackの #tech-news チャンネルは開設したが、3週間で投稿がゼロになった

行動(Action)

  • GAS×Claude APIで毎朝8時にZenn・Qiita・Hacker Newsの上位記事を自動要約し、Slackに投稿するBotを構築
  • 要約プロンプトに「チームの技術スタック(TypeScript, Go, AWS)に関連する記事を優先」という条件を追加
  • 週次共有タイムは「Bot投稿の中から深掘りしたいトピックを議論する場」に変更

結果(After)

  • 情報共有の準備時間:週4時間→ほぼゼロ(Botが代替)
  • Slack #tech-news の閲覧率:導入前0%→導入後92%(8人中7〜8人が毎日閲覧)
  • 週次共有タイムの質:表面的な紹介から深い技術議論へ変化
  • 月額コスト:Claude API利用料 約50円(Haiku 4.5)

木村さんは振り返ります。「プロンプトにチームの技術スタックを入れたのが正解だった。汎用的なニュースではなく自分たちに関係ある記事だけ届くので、全員が読むようになりました」。

プロジェクトの情報共有効率化については、技術的負債の可視化と返済計画で紹介したナレッジ管理の考え方も応用できます。

IT女子 アラ美
要約の精度が低い場合、プロンプトをどう改善すればいいですか?具体的なコツが知りたいです。

ITアライグマ
「エンジニア向けに」「3行以内で」「技術的な要点を中心に」と条件を具体化するのがコツです。

さらなる実践・活用に向けて

基本的なパイプラインが動いたら、以下のような発展的な活用も検討できます。

複数チャンネルへの振り分け

フロントエンド、バックエンド、インフラなど、技術領域ごとにSlackチャンネルを分けて要約を振り分けることで、各メンバーが自分に関連するニュースだけを受け取れるようになります。Claude APIのプロンプトでカテゴリ分類を指示すれば、振り分けロジックも自動化できます。

Googleスプレッドシートへのログ蓄積

取得したニュースと要約をスプレッドシートに蓄積しておくと、後から「過去に話題になったツール」を検索できるナレッジベースになります。GASからスプレッドシートへの書き込みは数行で実装可能です。

他のLLMとの使い分け

コストをさらに抑えたい場合は、要約には軽量なHaiku、深い分析にはSonnetと使い分けることも可能です。ローカルLLMとの連携については、CursorでローカルLLMを活用する完全ガイドで紹介している設定パターンが参考になります。

AIスキルを活かしたツール構築力は、開発環境を自分で選べるポジションへのステップにもなります。

IT女子 アラ美
GAS以外にも自動化の選択肢はありますか?AWS LambdaやCloudflare Workersも気になります。

ITアライグマ
どちらも有力な選択肢です。ただしGASは無料枠が広く、Googleサービスとの連携が楽な点で初手にはおすすめです。

よくある質問

Q. GASの無料枠で毎日実行しても大丈夫ですか?

はい、GASの無料枠は1日あたり6分の実行時間が上限です。ニュース要約Botは通常1〜2分で完了するため、毎日実行しても余裕があります。ただし、処理件数が多い場合は実行時間に注意してください。

Q. Claude API以外のLLMでも同じことができますか?

OpenAI API(GPT-4o-mini)やGemini APIでも同様の実装が可能です。APIの呼び出し形式が異なるため、callClaudeAPI 関数の部分を各APIに合わせて書き換えてください。

Q. 要約の言語やトーンをカスタマイズできますか?

プロンプトに「カジュアルなトーンで」「技術用語を省略せずに」などの指示を追加するだけで、出力のスタイルを自由にコントロールできます。チームの雰囲気に合わせて調整してください。

AI関連スキルを体系的に学びたい方は、以下の比較表から自分に合ったサービスを確認してみてください。

本記事で解説したようなAI技術を、基礎から体系的に身につけたい方は、以下のスクールも検討してみてください。

比較項目 Winスクール Aidemy Premium
目的・ゴール 資格取得・スキルアップ初心者〜社会人向け エンジニア転身・E資格Python/AI開発
難易度 初心者◎個人レッスン形式 中級者〜コード記述あり
補助金・給付金 最大70%還元教育訓練給付金対象 最大70%還元教育訓練給付金対象
おすすめ度 S幅広くITスキルを学ぶなら AAIエンジニアになるなら
公式サイト 詳細を見る
IT女子 アラ美
AIスキルを身につけたいけど、どのスクールを選べばいいかわからないです…
ITアライグマ
現場で即・ITスキルを身につけたいならWinスクールがおすすめです!個人レッスン形式で初心者でも取り組みやすいですよ。

まとめ

GAS×Claude APIを使えば、毎朝のAI技術ニュース要約をSlackに自動投稿する仕組みを、サーバー不要・月額数十円で構築できます。

  • 構築時間:約30分で基本パイプラインが完成
  • 月額コスト:Claude API(Haiku 4.5)で約50円
  • 効果:チームの情報共有準備時間を週4時間→ほぼゼロに削減
  • 拡張性:チャンネル振り分け、ログ蓄積、LLM使い分けなど発展も容易

まずは1つのRSSソースと1つのSlackチャンネルで小さく始めてみてください。情報収集の自動化は、一度動き出せばチーム全体の生産性を底上げしてくれる強力な仕組みです。

IT女子 アラ美
さっそく今日のうちにGASプロジェクトを作ってみます!RSSソースは何がおすすめですか?

ITアライグマ
ZennとQiitaのフィードから始めるのがおすすめです。慣れたらHacker Newsも追加してみてください。

作者が開発したサービス「DevPick」

この記事をシェアする
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITアライグマのアバター ITアライグマ ITエンジニア / PM

都内で働くPM兼Webエンジニア(既婚・子持ち)です。
AIで作業時間を削って実務をラクにしつつ、市場価値を高めて「高年収・自由な働き方」を手に入れるキャリア戦略を発信しています。

目次