業務で使う海外SaaSの英文のリリースノートを毎週訳し、社内への影響と対応の要否を部署別の要点にまとめて配る
利用中の海外SaaSの英文リリースノートを毎週集め、変更の項目ごとに日本語へ訳し、影響する部署と対応の要否の候補を付けて、部署別の要点として配ります。情報システムの担当の作業は、英文を読んで訳して書くことから、訳と仕分けを確かめて配ることに変わります。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Make/n8n
- 対象業界
- EC/IT・SaaS/人材/広告
- 対象部門
- 情報システム
- 対象業務
- 分類・仕分け/要約
- 主な課題
- 人手が足りない/情報が見つからない/期限・対応漏れが起きる
- AIで行う処理
- 翻訳
- 主な効果
- 対応スピード向上/工数削減/機会損失防止
- 導入難易度
- ★☆☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 月曜の朝に、担当者が15サービスのリリースノートのページを順に開く
- 前の週に読んだところから下へ、新しい項目を探す
- 英文を読み、分からない語は翻訳ツールで調べる
- 自社で使っている機能やプランに関係するかを、利用台帳を見て考える
- 関係するものを、部署ごとのチャットのスペースに日本語で書いて知らせる
- 設定の変更が要るものは、自分の作業の一覧に入れる
- 自動毎週月曜の朝に Google Apps Script が動き、台帳にある15サービスのリリースノートを取りに行く
- 自動前の週までに処理した項目と比べ、新しい項目だけを取り出す
- 自動台帳から、そのサービスを使う部署と、部署ごとに使っている機能・プランを付ける
- 自動用語集から、そのサービスの画面の表記と社内の呼び方を取り出す
- 自動Gemini API が項目ごとに訳し、変更の種類・適用の時期・条件・影響する部署・対応の要否の候補をJSONで返す
- 自動返ってきた値を検証し、確認用の一覧をスプレッドシートに書き出す
- 人担当者が「要対応」と「判断できない」の項目を原文と並べて確かめ、区分を確定する
- 人担当者が配信の列に印を付ける
- 自動印の付いた項目を部署ごとにまとめ、部署のチャットのスペースへ配る
各工程の詳しい説明を読む
- 月曜の朝に、担当者が15サービスのリリースノートのページを順に開く
- 前の週に読んだところから下へ、新しい項目を探す
- 英文を読み、分からない語は翻訳ツールで調べる
- 自社で使っている機能やプランに関係するかを、利用台帳を見て考える
- 関係するものを、部署ごとのチャットのスペースに日本語で書いて知らせる
- 設定の変更が要るものは、自分の作業の一覧に入れる
(a)読む人が1人しかいない。 英文を読んで、自社への関係まで判断できる人は限られます。その人の休みの週と忙しい週に、リリースノートは読まれません。
(b)訳しても、誰に関係するかが分からない。 「Improved permissions for guest users」を訳すことはできても、ゲストを使っているのがどの部署かは台帳を見ないと分かりません。訳すことと、関係する部署を決めることは、別の作業です。 後者が抜けると、全社のスペースに流して誰も読まない知らせになります。
(c)知らせる書き方がそろわない。 同じ「機能の廃止」でも、担当者によって「〜が無くなります」と書く週もあれば、英文を貼って「ご確認ください」だけの週もあります。受け取る側は、どれが自分に行動を求めているのかが読み取れません。
(d)周知が、変更の後になる。 読むのが遅れた週は、画面が変わってから「ボタンが消えた」と問い合わせが来ます。問い合わせに答える時間は、読む時間よりも長くかかります。
- 【自動】 毎週月曜の朝に Google Apps Script が動き、台帳にある15サービスのリリースノートを取りに行く
- 【自動】 前の週までに処理した項目と比べ、新しい項目だけを取り出す
- 【自動】 台帳から、そのサービスを使う部署と、部署ごとに使っている機能・プランを付ける
- 【自動】 用語集から、そのサービスの画面の表記と社内の呼び方を取り出す
- 【自動】 Gemini API が項目ごとに訳し、変更の種類・適用の時期・条件・影響する部署・対応の要否の候補をJSONで返す
- 【自動】 返ってきた値を検証し、確認用の一覧をスプレッドシートに書き出す
- 【人】 担当者が「要対応」と「判断できない」の項目を原文と並べて確かめ、区分を確定する
- 【人】 担当者が配信の列に印を付ける
- 【自動】 印の付いた項目を部署ごとにまとめ、部署のチャットのスペースへ配る
7番目で人が見るのは、全件ではありません。 「対応不要」とされた項目は一覧で流し見て終わりにし、利用部署に行動を求める項目と、AIが決められなかった項目だけを原文で確かめます。 全件を原文で読み直す設計にすると、40.0時間はほとんど減りません。
9番目を8番目の後に置くのも、意図してのことです。 訳と区分が正しくても、配る時期は担当者が決めます。設定を先に変えてから知らせるべき変更もあるからです。
02今回想定するシステム構成
SaaSの利用台帳(スプレッドシート:サービス・URL・プラン・使う機能・使う部署) │ ▼【トリガー】時間主導型トリガー(毎週月曜 9時台) Google Apps Script ├──▶ リリースノートのフィードを取得(UrlFetchApp) ├──▶ フィードの無いサービスは、ページのURLを渡す ├──▶ 処理済みの一覧と比べ、新しい項目だけを残す ├──▶ 台帳の使う部署・機能と、用語集の該当行を付ける ▼ Gemini API ── 項目ごとの訳/変更の種類/適用の時期と条件/影響する部署/対応の要否(JSON) │ URLだけのものは URL コンテキストで本文を読む ▼ Google Apps Script ── 値の検証(区分の語、原文の語句の有無、部署名が台帳にあるか) ▼ 確認用の一覧(スプレッドシート) ▼【人が区分を確定し、配信に印を付ける】 Google Chat の部署ごとのスペースへ配信(着信 Webhook)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Gemini API(翻訳、変更の種類の仕分け、部署の割り当て) | Claude API、OpenAI API |
| 連携 | Google Apps Script(トリガー、取得、差分、検証、配信) | Make、n8n |
| 台帳・用語集・確認一覧 | Google スプレッドシート | SharePoint リスト |
| 配信 | Google Chat(着信 Webhook) | Microsoft Teams、Slack |
新しく足すのは、Gemini API の利用だけです。 スプレッドシートとチャットは Google Workspace の中ですでに使っているものです。最初の準備作業は、利用台帳に2つの列を足すことです。 リリースノートのURL(フィードがあればフィードのURL)と、部署ごとに使っている機能の列です。
Gemini API には、URL コンテキストというツールがあります。 公式ドキュメントでは、リクエストに URL を渡すと、モデルがそのページの内容を取得して回答に使うとされています。1回のリクエストで20件までのURL、1件あたり34MBまでを扱え、HTML、JSON、プレーンテキスト、XML、CSV、PDF、画像などを読めます。一方で、有料の会員向けのコンテンツ、YouTube の動画、Google Workspace のファイル、動画・音声は扱えないとされています。ログインの内側にある管理者向けの告知は、このツールでは取れません。
取得したページの内容は入力トークンとして数えられます。 長いページを毎週まるごと渡すと、過去の項目まで毎回読ませることになります。URL コンテキストはフィードの無いサービスに限ります。
結果は構造化出力で受け取ります。 Gemini API では、レスポンスの形式に application/json とスキーマを指定すると、スキーマに沿ったJSONが返るとされ、文字列の値を enum で選択肢に限れます。 Gemini 3 系のモデルでは、URL コンテキストなどの組み込みツールと組み合わせて使えるとされています。ただし、値はアプリケーション側で検証すべきことも明記されており、第7章の検証はこれに当たります。
03どうやって実装するのか
処理の起点を決める
毎週月曜の朝を起点にします。 Apps Script のインストール型トリガーのうち、時間主導型トリガーを使い、「毎週月曜 9時」のように設定します。公式ドキュメントでは、9時に設定すると9時から10時の間のどこかで動き、その時刻は以後そろうとされています。配る時刻を分単位で決めたい場合は、配信だけを別の手順にします(本構成では第5章の8番目が人の操作なので、ここは問題になりません)。
週1回にするのは、毎日動かすと確認の一覧が細切れになるからです。 週の最初にまとめて作り、その週のうちに配ります。
トリガーは、作った人のアカウントで動きます。 担当者個人のアカウントで作ると、その人が異動したときに止まります。情報システムの共用のアカウントで作り、失敗したときの通知メールもそこに届くようにします。 Apps Script は、トリガーが失敗すると実行の詳細を書いたメールを送るとされています。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| リリースノートの項目 | 見出し、本文、公開日、項目のURL | 各社のフィード、またはページのURL |
| 利用台帳 | サービス名、契約プラン、使っている機能、使う部署と部署ごとの使い方、管理者 | スプレッドシート |
| 用語集 | 画面の英語の表記、社内の呼び方、訳さない語 | スプレッドシート |
| 処理済みの一覧 | サービス、項目のURL、見出し、処理した週 | スプレッドシート |
| 部署の一覧 | 部署名と、配信先のチャットのスペース | スプレッドシート |
質を決めるのは、2行目の「部署ごとの使い方」です。 「営業:商談の記録と見積の作成に使う。ゲストは使わない」のように、部署ごとに使っている機能を1〜2文で書きます。 ここが空だと、影響する部署を決める材料がなく、全部の項目が「全社」になります。
用語集には「訳さない語」の列を持たせます。 製品名、機能名、画面の表記のうち、英語のまま使っているものを並べます。 社内で「ワークスペース」と呼んでいるものは、訳語の列に書きます。
データの取得方法を決める
| 取るもの | どこから | どう取るか |
|---|---|---|
| フィードの項目 | 各社のRSS/Atomフィード | UrlFetchApp で取り、XMLを読んで項目に分ける |
| フィードの無いページ | 各社のリリースノートのページ | Gemini API の URL コンテキストにURLを渡す |
| 台帳・用語集・処理済みの一覧 | スプレッドシート | Apps Script で読む |
フィードの取得は、まとめて送ります。 UrlFetchApp には、複数のURLへのリクエストをまとめて送り、それぞれの応答を配列で返す fetchAll があります。muteHttpExceptions を有効にすると、失敗の応答でも例外で止まらずに応答が返るとされています。15サービスのうち1つのサイトが落ちていても、残りの14サービスは処理を続けられます。
UrlFetchApp のリクエストは一定のIP範囲から送られるとされています。接続元を絞っている環境では、その範囲を許可します。
URL コンテキストで読んだページは、取得の結果が返ります。 レスポンスには、URLごとに取得できたかどうかの状態が含まれるとされています。取得に失敗したURLの項目を「今週は新しい項目なし」として扱わないよう、状態を必ず確かめます。
AIへ渡す前に整形する
- 新しい項目の選び出し … 処理済みの一覧と、項目のURLと見出しで照合し、新しいものだけを残します
- 項目への分割 … 1つの投稿に複数の変更が箇条書きで並ぶものは、箇条ごとに分けます
- 公開日の確認 … 2週間より前の公開日の項目は、処理済みの一覧に漏れがないかを確かめてから扱います
- 販促の文の除去 … 導入事例、イベントの告知、ブログ記事の紹介は、変更の項目から外します
- 台帳の付与 … サービスごとに、契約プラン、使う部署、部署ごとの使い方を付けます
- 用語集の絞り込み … そのサービスの行だけを取り出して渡します
- 原文の保持 … 訳す前の原文と項目のURLを、確認用の一覧のために残します
2番目を省くと、1つの投稿の中の廃止の予告が、新機能の紹介に埋もれます。 「New features this week」の見出しの下に、最後の1行だけ「The legacy API will be retired」と書かれている、という形はよくあります。箇条ごとに分ければ、その1行が1件として仕分けられます。
6番目で用語集を絞るのは、別のサービスの訳語を当てはめるのを防ぐためです。
AIに処理させる
させるのは、項目ごとに次の6つを埋めることです。
| 埋めるもの | させ方 | 決められないとき |
|---|---|---|
| 日本語の訳 | 用語集に従い、画面の表記は英語のまま括弧で日本語を添える | 訳せない語は原語のまま残す |
| 変更の種類 | 新機能/仕様変更/廃止・終了/不具合の修正/管理者の設定/料金・プラン から選ぶ | unknown |
| 適用の時期 | 原文に書かれた日付と語句をそのまま写す | 書かれていなければ空欄 |
| 条件 | プラン、地域、既定の設定かどうかを原文の語句ごと写す | 書かれていなければ空欄 |
| 影響する部署 | 台帳の「部署ごとの使い方」と突き合わせ、当たった部署と根拠の語を返す | all_users か unknown |
| 対応の要否 | 要対応/周知のみ/対応不要 の候補と、その理由 | unknown |
適用の時期と条件を、訳文とは別に原文の語句で写させるのが要です。 「in the coming weeks」を「数週間以内に」と訳すのは正しくても、訳文だけを読むと、日付が決まっているかのように読めることがあります。 原文の語句を並べておけば、担当者が確かめるときに一目で分かります。
影響する部署は、根拠の語と一緒に返させます。 「営業」と返すなら、台帳の営業の行の「見積の作成」に当たった、という語を添えさせます。根拠の無い割り当ては、担当者が確かめられません。
| させないこと | 理由 |
|---|---|
| 適用の日付の推定 | 「来月」から具体的な日付を作らない。原文に無い日付は空欄にする |
| 設定を変えるかの判断 | 情報システムの担当が決める。候補の区分までにする |
| 画面の表記の訳 | 利用者が画面で探せなくなる |
| 台帳に無い部署の追加 | 配る先が増え、誰も読まない知らせになる |
| 原文に無い影響の書き足し | 「使いやすくなります」のような評価を足さない |
1行目がいちばん起きやすい失敗です。 「starting next month」と書かれた項目に、公開日から計算した日付を入れます。それらしい日付が一覧に並ぶと、担当者はその日付で段取りを組んでしまいます。
指示内容を固定する
あなたは情報システム部門で、業務で使う海外SaaSのリリースノートを
社内の利用部署に向けて日本語にする立場です。
渡された項目と台帳と用語集だけを根拠にしてください。推測で補わないでください。
【訳し方】
- 用語集の「訳さない語」は英語のまま書いてください。
- 画面に表示される英語(メニュー、ボタン、設定の名前)は英語のまま書き、
初出だけ括弧で日本語を添えてください。例:Workspace settings(ワークスペースの設定)
- 用語集に訳語がある語は、その訳語を使ってください。
- 利用部署の人が読む前提で、1項目を2〜3文で訳してください。
開発者向けの細かい仕様(APIのパラメータ名など)は、訳文では省いてかまいません。
【change_type の選び方】
new_feature(新機能)/change(仕様変更)/deprecation(廃止・終了)/
bug_fix(不具合の修正)/admin_setting(管理者の設定)/pricing(料金・プラン)
どれにも当たらない、または決められないときは unknown にしてください。
【effective と conditions】
- 適用の時期は、原文の日付や語句をそのまま effective.source_text に写してください。
- 原文に具体的な日付があるときだけ effective.date に YYYY-MM-DD で入れてください。
「next month」「in the coming weeks」から日付を計算しないでください。
- プラン、地域、既定で有効かどうかは、原文の語句を conditions に写してください。
【影響する部署】
- 台帳の「部署ごとの使い方」と突き合わせ、当たった部署を返してください。
- 部署ごとに、当たった根拠の語(台帳の語と原文の語)を evidence に書いてください。
- 台帳に無い部署名を作らないでください。全員に関係するときは all_users、
決められないときは unknown にしてください。
【action の選び方】
- required ... 利用者の操作が変わる、機能が無くなる、設定を変えないと使えなくなる
- notify ..... 利用者に知らせたほうがよいが、何もしなくても使い続けられる
- none ....... 自社の契約プランや使い方では関係しない
- unknown .... 原文の情報だけでは決められない
迷ったときに none を選ばないでください。
【厳守事項】
- 原文に無い影響や評価(便利になる、改善される など)を書き足さないでください。
- 設定を変えるべきかの結論を書かないでください。action の候補と理由だけにしてください。
- 原文が英語以外のときは、訳さずに source_language にその言語を書いてください。
【項目】{release_items}
【台帳】{service_profile}
【用語集】{glossary}
「迷ったときに none を選ばない」を明記しないと、対応不要が増えます。 リリースノートの多くは本当に自社に関係ないので、何も言わなければ多数派の区分に寄ります。対応が要るものを対応不要に落とすほうが、逆より高くつきます。
「日付を計算しない」は、2か所で念を押します。 日付の欄に書かないよう求めても、訳文の中で「10月から」と書くことがあります。訳文と欄の両方で原文の語句を保たせます。
出力形式を固定する
次の形のJSONで受け取ります。
{
"service": "",
"items": [
{
"item_url": "",
"title_ja": "",
"summary_ja": "",
"change_type": "new_feature | change | deprecation | bug_fix | admin_setting | pricing | unknown",
"effective": { "date": "", "source_text": "" },
"conditions": "",
"departments": [
{ "name": "", "evidence": "" }
],
"action": "required | notify | none | unknown",
"action_reason": "",
"source_language": "en"
}
]
}
1つ目の理由は、区分を enum で固定できることです。 change_type と action は、スキーマで選択肢を決めておきます。「重要」「要確認」のような語が混ざらないので、区分ごとの並べ替えと配り分けがそのまま機械でできます。
2つ目は、effective を2つに分けられることです。 date は日付が書かれていたときだけ、source_text は必ず埋めます。date が空で source_text が「in the coming weeks」なら、日付は決まっていないということです。
3つ目は、値の検証を Apps Script で書けることです。 返ってきたJSONについて、次を確かめます。
| 検証すること | 外れたとき |
|---|---|
departments.name が部署の一覧にあるか | その項目を unknown に直し、担当者の確認に回す |
effective.date が空でないとき、source_text に数字の日付があるか | date を空に戻す |
action が required のとき、action_reason が空でないか | unknown に直す |
summary_ja に用語集の「訳さない語」の訳が入っていないか | 印を付けて確認に回す |
2行目の検証が、上の「させないこと」の1行目を機械で止める仕組みです。 指示で禁じても日付を作ることはあるからです。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 各社のフィード | UrlFetchApp | 新しい項目を取得する |
| 各社のリリースノートのページ | Gemini API の URL コンテキスト | フィードの無いサービスの本文を読む |
| Gemini API | Apps Script から呼び出し | 訳と区分をJSONで返す |
| スプレッドシート | Apps Script | 確認用の一覧を書き、担当者の確定と配信の印を読む |
| Google Chat | 着信 Webhook | 部署ごとのスペースに要点を配る |
配信は、着信 Webhook で一方向に送ります。 公式ドキュメントでは、Webhook は外部のサービスからチャットのスペースへ一方向・非同期の通知を送るもので、利用者のメッセージに応答することはできないとされています。部署の人からの質問は、スペースの中で担当者が受けます。 Business または Enterprise の Google Workspace のアカウントが必要です。
1つのスペースに送れるのは、1秒に1件までです。 この上限はスペースの中の全 Webhook で共有されるとされています。部署ごとに要点を1通にまとめて送り、項目ごとに送りません。 1通にまとめるほうが、受け取る側も読みやすくなります。
サービスごとにスレッドを分けます。 Webhook では threadKey でスレッドを指定できるとされ、サービス名をキーにすれば、同じサービスの変更が週をまたいで1つのスレッドにたまります。 SaaSの管理画面には何も書き込みません。
人が確認する
確かめるのは、情報システムの担当者です。
requiredを先に見る … 原文と訳を並べ、effective.source_textとconditionsを原文で確かめます。自社の契約プランで本当に当たるかを、台帳と照らしますunknownを片付ける … 区分と部署を担当者が決めます。決められないものは、ベンダーのヘルプを見に行く項目として残しますnotifyを流し見る … 部署の割り当てが合っているかだけを見ますnoneは件数とサービスだけを見る … 1件ずつ開きません- 配信の印を付ける … 設定の変更が先に要るものは、変更の後に配ります
1番目を省かないでください。 「required」の項目は、部署の人に行動を求めます。プランの条件を読み違えた1件は、関係のない部署に操作を変えさせます。
目標は、60件をならして1件12分です。 required と unknown が2割前後という想定で、残りは流し見です。それより多い週は、台帳の「部署ごとの使い方」が薄いか、用語集が足りていません。
例外に対処する
| 起きること | 対応 |
|---|---|
| フィードやページが取得できない | 状態を記録し、「今週は取得できなかった」と一覧に出す。新しい項目なしと区別する |
| 会員向けのページで読めない | URL コンテキストでは扱えない。担当者が本文をシートに貼る |
| 1回に20件を超えるURLを渡したい | 20件ずつに分けてリクエストする |
| フィードの形式が変わった | 項目が0件になった週に印を付けて担当者に知らせる |
| 原文が英語以外 | source_language を見て、訳さずに担当者に回す |
| 日本語版のリリースノートがある | 台帳に日本語版のURLを持ち、翻訳をせずに仕分けだけを行う |
| 同じ変更が複数の週に出る | 項目のURLと見出しで照合し、二度配らない |
| 部署の割り当てが全社になる | 台帳の「部署ごとの使い方」が空でないかを確かめる |
| トリガーが失敗する | 共用のアカウントに届く失敗の通知メールで気づく |
1行目がいちばん大事です。 取得できなかったサービスが、一覧の上で「新しい変更なし」と同じに見えると、その週の変更は誰にも読まれないまま過ぎます。
4行目も同じ性質です。 フィードの形式が変わると、エラーにならずに項目が0件になります。3週続けて0件のサービスは、壊れているものとして扱います。
記録を残す
- 取得した原文と、取得の状態(成功・失敗・読めない)
- Gemini API に渡した項目、台帳、用語集の該当行
- 返ってきたJSONの全文と、検証で直した箇所
- 担当者が確定した区分と、AIの候補から変えた箇所
- 配信した日時、配信先のスペース、配信した文面
- サービスごとの
requiredの件数の推移
4つ目は、指示文と台帳の改善の材料になります。 同じサービスで同じ種類の直しが続くなら、台帳の「部署ごとの使い方」か、用語集のどちらかに理由があります。
最後の行は、契約の見直しの材料になります。 required が毎月出るサービスは、運用が変更に振り回されているということです。
04実装レベルの3段階
最小構成では毎週は回せません。 15サービスを手で貼るのは、読んで訳すのとあまり変わらない手間です。確かめるための段階です。 半自動化で、1件40分が12分になり、この段階が本記事の想定です。 取得と差分と訳が自動になり、担当者は required と unknown を確かめるだけになります。本格構成で減るのは、配った後の対応の管理です。 管理者向けの告知メールは契約時の担当者個人の受信箱に届いていることが多く、まずその宛先を共用のアドレスに寄せるところから始まります。 段階を飛ばさないでください。 半自動化を1か月回すと unknown の多いサービスが分かり、台帳と用語集をどこから厚くするかが決まります。
05工数削減シミュレーション
導入後 60件 × 12分 ÷ 60 = 12 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- チャット、CRM、プロジェクト管理、デザイン、会計などに海外のSaaSを10以上使い、リリースノートが英語でしか出ない企業。情報システムの担当が少人数で、英文を読んで社内に知らせる作業が特定の1人に寄っている場合。「画面が変わった」「前の機能が無くなった」という問い合わせが、変更が入ってから届いている場合。Google Workspace を使っており、スプレッドシートとチャットを業務で使える場合。
- 使っている海外SaaSが数サービスで、担当者が毎週読んで困っていない場合。SaaS管理の製品を導入済みで、変更の告知の集約と社内への周知まで運用に乗っている場合。リリースノートが管理画面のログインの内側にしか無く、外から取りに行けない製品ばかりの場合。なお、変更に合わせて設定を変えるか、利用者にどう案内するかの判断は、情報システムの担当に残ります。
07最小構成で試す方法
- 先月分のリリースノートを、よく使う3サービスについて集める(うち1件は、実際に周知が遅れて問い合わせが来た変更を入れる)
- 利用台帳の3サービスの行に、部署ごとの使い方を1〜2文ずつ書く
- Gemini のアプリにリリースノートの本文と台帳の行を貼り、第7章の指示文で訳と区分を出させる
- 出てきた訳と区分を、当時の担当者の判断と比べる
3サービスで必ずやってください。 Apps Script を組む前に、「台帳の書き方で、部署の割り当てが決まるのか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
当時周知が遅れた変更が required に出た | Apps Script で取得と配信をつなぐ段階に進む |
| 日付を計算して入れた | 指示と検証で直る。構成は有効 |
部署がすべて all_users になる | 台帳の「部署ごとの使い方」が先。 AIの問題ではない |
3行目は失敗ではなく、担当者が③の確認に時間を使っていた理由が見えたということです。 使い方を書き足して試し直してください。
最小構成では、社内の台帳を外部のサービスに貼ることになります。会社のアカウントでの利用条件を確かめてから貼ってください(API の場合は第13章の1番目)。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 「来月」から日付を作る | 指示で禁じ、原文の語句に日付が無ければ date を空に戻す検証を置く |
| 対応不要に寄る | 「迷ったら none を選ばない」を指示に書く |
| 画面の表記が訳されて探せない | 用語集に「訳さない語」を持ち、訳文を検証する |
| 取得の失敗が「変更なし」に見える | 取得の状態を一覧に出す。3週続けて0件は壊れたものとして扱う |
| 1つの投稿の中の廃止の予告が埋もれる | 箇条ごとに項目に分ける |
| 別のサービスの訳語が当たる | 用語集をサービスごとに絞って渡す |
| 部署がすべて全社になる | 台帳の「部署ごとの使い方」を1〜2文ずつ書く |
| 会員向けのページが読めない | URL コンテキストの対象外。担当者が本文を貼る |
| チャットへの送信が失敗する | 1スペース1秒1件の上限。部署ごとに1通にまとめる |
| トリガーが担当者の異動で止まる | 共用のアカウントでトリガーを作る |
| 配った後に設定を変える順序が逆になる | 配信は担当者の印の後。設定の変更が先のものは、変更の後に配る |
上の2行が、この構成の失敗のほとんどです。 どちらも、原文に無い確かさを足すか、原文にある注意を引くかの違いで、訳としては自然に見えます。日付と区分の両方を、検証と指示の2か所で押さえます。
下の2行も早く効いてきます。 トリガーの持ち主と、配る順番を最初に決めてください。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 公開されているリリースノートと、自社の利用台帳(使っているサービス、契約プラン、部署ごとの使い方)、用語集です。個人情報は扱いません。
- 有料のサービスで使う … Gemini API の追加利用規約では、無料のサービスでは入力と応答が製品の改善に使われ、人が読むことがあり、機密情報や個人情報を送らないよう求められています。 有料のサービスでは、プロンプトと応答を製品の改善に使わず、禁止事項の違反の検知のために限られた期間だけ記録するとされています。利用台帳は、自社がどのSaaSをどう使っているかの一覧で、外部に出したい情報ではありません。 有料のサービスで使います
- 台帳の渡す範囲を絞る … 渡すのは、そのサービスの契約プランと部署ごとの使い方までです。管理者の名前、契約の金額、アカウントの数は渡しません
- Webhook のURLを公開しない … 着信 Webhook のURLにはトークンが含まれ、秘密にしておく必要があるとされています。スクリプトのプロパティに置き、スプレッドシートのセルに書きません
- 設定の変更を自動で行わない … この構成が出すのは、訳と区分の候補までです。設定を変えるか、どう案内するかは情報システムの担当が決めます
- 原文へのリンクを必ず添える … 部署に配る要点には、項目のURLを付けます。訳を読んで迷った人が、原文に戻れるようにします
誤りが起きた場合のリスクは、対応が要る変更を対応不要として配らないことと、関係のない部署に操作を変えさせることの2つです。 前者は none に寄る癖から、後者はプランの条件の読み違いから起きます。どちらも required の原文での確認で止まるので、その手順だけは省かないでください。
10まず何から始めるか
1週目:台帳に2つの列を足す
利用台帳に、リリースノート(またはフィード)のURLの列と、部署ごとの使い方の列を足します。15サービスすべてを一度に埋める必要はありません。利用者の多い上位5サービスから埋めます。
2週目:3サービスで試す
先月分のリリースノートを Gemini のアプリに貼り、第7章の指示文で訳と区分を出させます。当時の担当者の判断と比べ、日付を計算していないか、対応不要に寄っていないかを最優先で見ます。
3週目:用語集を作る
試した3サービスで訳された画面の表記を拾い、訳さない語と社内の呼び方を用語集に書きます。
4週目:取得から確認の一覧までをつなぐ
Apps Script で毎週月曜にフィードを取り、新しい項目を Gemini API に渡して確認の一覧に書き出すところまで作ります。この時点ではまだ配信せず、一覧だけを担当者が見ます。
2か月目: 検証と部署ごとの配信を足し、required と unknown の件数を毎週数えます。3か月目以降: 残りのサービスを台帳に足し、1件40分が何分になったかを実測します。英語が得意な1人がいない週でも、リリースノートが月曜のうちに部署へ届くようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| URL コンテキストで URL の内容を取得して回答に使えること。1回のリクエストで20件まで、1件あたり34MBまでであること。HTML・JSON・XML・CSV・PDF・画像などを扱えること。有料の会員向けコンテンツ、YouTube の動画、Google Workspace のファイル、動画・音声を扱えないこと。URLごとの取得の状態が返ること。取得した内容が入力トークンとして数えられること | Gemini API: URL context | 2026-09-30 |
レスポンスの形式に application/json とスキーマを指定するとスキーマに沿ったJSONが返ること。enum や required が使えること。大きい・深く入れ子のスキーマは拒否されることがあること。値はアプリケーション側で検証すべきこと。Gemini 3 系で URL コンテキストなどの組み込みツールと組み合わせられること | Gemini API: Structured outputs | 2026-09-30 |
| 無料のサービスでは入力と応答が製品の改善に使われ、人が読むことがあり、機密情報や個人情報を送らないよう求められていること。有料のサービスでは改善に使わず、違反の検知のため限られた期間だけ記録すること | Gemini API 追加利用規約 | 2026-09-30 |
| 時間主導型トリガーで「毎週月曜 9時」のように設定でき、実行時刻が9時から10時の間でそろうこと。作成した人のアカウントで動くこと。失敗時にメールが届くこと | Apps Script: Installable triggers | 2026-09-30 |
fetchAll で複数のURLへまとめてリクエストできること。muteHttpExceptions で失敗の応答でも例外にならないこと。リクエストが一定のIP範囲から送られること | Apps Script: UrlFetchApp | 2026-09-30 |
着信 Webhook が一方向・非同期の通知で、利用者のメッセージに応答できないこと。スペースごとに1秒1件の上限が全 Webhook で共有されること。Business または Enterprise のアカウントが必要なこと。URLのトークンを秘密にすること。threadKey でスレッドを指定できること | Google Chat: Webhook のクイックスタート | 2026-09-30 |
変更に合わせて設定を変えるか、利用者にどう案内するかは、情報システムの担当が決めてください。 各SaaSのリリースノートの内容と適用の時期は、それぞれのベンダーの公式の告知を正としてください。本記事は公開仕様で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0387)についてのご相談はこちらから。
