監視ツールの障害アラートと社内の対応メモから、顧客向けの障害のお知らせ(発生・調査中・復旧)の文面を段階ごとに下書きする
監視ツールのアラートと、Slack の対応チャンネルに書かれた社内のメモから、顧客向けの障害のお知らせを「発生・調査中」「続報」「復旧」の段階ごとに下書きします。当番の責任者が承認した文面だけが掲載担当に渡ります。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- EC/IT・SaaS/金融
- 対象部門
- カスタマーサポート/情報システム
- 対象業務
- 書類作成
- 主な課題
- 人手が足りない/属人化している/書類作成に時間がかかる
- AIで行う処理
- 生成
- 主な効果
- 品質標準化/対応スピード向上/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- Datadog のアラートが対応チャンネルに流れ、当番が調査を始める
- 当番の責任者が、顧客に影響があるかを判断する
- 影響があれば、過去のお知らせを探して書き方を確かめ、初報の文面を書く
- 文面を対応チャンネルに貼り、もう1名に読んでもらう
- 掲載担当のサポートに文面を渡し、ステータスページとお知らせ欄に掲載してもらう
- 調査が進むたびに、3番から5番をくり返して続報を出す
- 復旧を確かめたら、復旧のお知らせを書いて同じ手順で出す
- 自動Datadog の監視がアラートを出すと、Webhook で Zapier に届く
- 自動顧客向けの告知の対象の監視かを確かめ、障害の台帳に1件として記録する
- 自動監視と症状の対応表を引き、AIが初報(発生・調査中)の文面を下書きする
- 人当番の責任者に承認の依頼が届き、文面を直して承認する
- 自動承認された文面を、掲載担当の Slack チャンネルに投稿する
- 人掲載担当がステータスページとお知らせ欄に掲載する
- 人続報を出したいとき、当番が対応チャンネルに決まった書き出しで状況のメモを書く
- 自動そのメモと前の版から、AIが続報の文面を下書きし、4番目からをくり返す
- 【自動/人】 監視が回復を通知したら復旧の文面を下書きし、当番が復旧を確かめてから承認する
各工程の詳しい説明を読む
- Datadog のアラートが対応チャンネルに流れ、当番が調査を始める
- 当番の責任者が、顧客に影響があるかを判断する
- 影響があれば、過去のお知らせを探して書き方を確かめ、初報の文面を書く
- 文面を対応チャンネルに貼り、もう1名に読んでもらう
- 掲載担当のサポートに文面を渡し、ステータスページとお知らせ欄に掲載してもらう
- 調査が進むたびに、3番から5番をくり返して続報を出す
- 復旧を確かめたら、復旧のお知らせを書いて同じ手順で出す
(a)対応の最中に書くので、初報が遅れる。 3番目は、原因の調査と同じ人がやっています。調査を止めて文面を書くか、文面を後回しにするかの選択になり、 たいていは後回しになります。その間、顧客はサポートの窓口に問い合わせてきます。
(b)書く人によって中身が違う。 ある当番は影響する機能を細かく書き、別の当番は「一部の機能」とだけ書きます。次の更新の予定時刻を書く人と書かない人がいます。 顧客から見ると、同じ会社のお知らせなのに、どこまで情報が出るかが毎回違います。
(c)社内の用語がそのまま出る。 監視の名前、サーバーの役割の略称、社内のチーム名が文面に残ることがあります。掲載担当は技術の中身を判断できないので、そのまま掲載されます。
(d)続報で前の版と食い違う。 初報で「打刻ができない」と書いたのに、続報で「打刻の反映が遅れている」と書くことがあります。前の版を見ずに書くと、症状の説明が版ごとに変わります。
- 【自動】 Datadog の監視がアラートを出すと、Webhook で Zapier に届く
- 【自動】 顧客向けの告知の対象の監視かを確かめ、障害の台帳に1件として記録する
- 【自動】 監視と症状の対応表を引き、AIが初報(発生・調査中)の文面を下書きする
- 【人】 当番の責任者に承認の依頼が届き、文面を直して承認する
- 【自動】 承認された文面を、掲載担当の Slack チャンネルに投稿する
- 【人】 掲載担当がステータスページとお知らせ欄に掲載する
- 【人】 続報を出したいとき、当番が対応チャンネルに決まった書き出しで状況のメモを書く
- 【自動】 そのメモと前の版から、AIが続報の文面を下書きし、4番目からをくり返す
- 【自動/人】 監視が回復を通知したら復旧の文面を下書きし、当番が復旧を確かめてから承認する
4番目が、この設計の分かれ目です。 下書きは自動で作りますが、顧客に出るのは当番の責任者が承認した文面だけです。 承認の画面で文面を直せるので、直してから承認する流れが基本になります。
9番目で回復の通知をそのまま復旧の告知にしないのも、意図してのことです。 監視の値が閾値を下回っただけで、顧客の画面ではまだ遅れが残っていることがあります。復旧を宣言するかは、人が確かめて決めます。
02今回想定するシステム構成
Datadog の監視(メッセージに @webhook-zapier-notice) ▼【トリガー1】アラートの Webhook(Triggered/Recovered) Zapier の Zap(初報・復旧) ├──▶ Webhooks by Zapier(Catch Hook) ├──▶ Paths:告知対象のタグか/Triggered か Recovered か ├──▶ Zapier Tables:障害の台帳に記録・監視と症状の対応表を引く ├──▶ AI by Zapier(Analyze and Return Data):お知らせの下書き ├──▶ Human in the Loop(Request Approval):当番の責任者が直して承認 ├──▶ Slack:承認された文面を掲載担当のチャンネルへ └──▶ Zapier Tables:掲載した版を台帳に残す Slack の対応チャンネル(「#続報」で始まる当番のメモ) ▼【トリガー2】New Message Posted to Channel Zapier の Zap(続報)── 台帳を引く → 下書き → 承認 → 掲載担当へ ▼ 【人】掲載担当がステータスページとお知らせ欄に掲載する
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Zapier(Webhooks by Zapier、Paths、Zapier Tables、Human in the Loop、Slack) | Make、n8n、Power Automate |
| 生成AI | AI by Zapier(Analyze and Return Data) | ChatGPT(OpenAI)、Claude、Gemini |
| 監視 | Datadog(Webhooks インテグレーション) | PagerDuty、New Relic |
| チャット | Slack(対応チャンネル・掲載担当のチャンネル) | Microsoft Teams |
新しく足すのは、Zapier の Zap 2本と、障害の台帳と対応表のテーブルです。 監視とチャットは今のものを使います。ステータスページのサービスには、この構成から書き込みません。 掲載は今までどおり掲載担当が行います。
アラートの受け口は Webhooks by Zapier の Catch Hook です。 固有のURLが発行され、送られてきた本文を解析して後のステップで使える形にします。Free プランでは使えず、Professional・Team・Enterprise で使えます。 トリガーで受けられる本文は最大10MBで、アラートの通知には十分です。
Datadog 側は Webhooks インテグレーションで送ります。 送り先のURLと名前を登録し、本文を変数で組み立てます。監視のメッセージに @webhook-<名前> を書くと、その監視の通知が JSON で POST されます。 使う変数は、$EVENT_TITLE(イベントの題名)、$ALERT_TRANSITION(Triggered・Recovered・Renotify などの通知の種類)、$ALERT_ID(監視のID)、$ALERT_PRIORITY、$TAGS、$DATE(エポックミリ秒の時刻)、$LINK です。
承認は Human in the Loop の Request Approval で行います。 Zap の実行を止め、レビューする人に承認・却下・内容の変更を求めてから先へ進みます。依頼はメール・Slack・別の Zap で届けられ、「レビューする人に内容の編集を許すか」を選べます。 許すと、直した値が後のステップで使えます。
03どうやって実装するのか
処理の起点を決める
起点は2つあります。 1つは Datadog のアラート、もう1つは対応チャンネルに当番が書く続報のメモです。
1つ目は、監視の通知を Webhook で受けたときです。 顧客向けの告知の対象にする監視だけに、メッセージへ @webhook-zapier-notice を書きます。すべての監視に書かないのは、ディスクの使用率のような社内だけの監視で下書きが作られないようにするためです。 さらに、対象の監視には notice:customer のタグを付け、Zap の側でもタグを確かめます。二重に絞ります。
通知の種類は $ALERT_TRANSITION で分けます。 Triggered なら初報、Recovered なら復旧の下書きを作ります。Renotify(再通知)では何もしません。 同じ障害の初報が何度も作られるのを防ぎます。
2つ目は、対応チャンネルに「#続報」で始まるメッセージが書かれたときです。 Zapier の Slack の New Message Posted to Channel は、選んだチャンネルに新しいメッセージが投稿されたときにすぐ動きます。書き出しで絞るのは、対応チャンネルには調査のやり取りが大量に流れるからです。 すべてに反応させると、Zap のタスクを使い切ります。
ボットの投稿では動きません。 Slack の連携の説明では、ボットやスラッシュコマンドなどによる添付付きのメッセージは Zap を起こせないとされています。続報のメモは、当番が自分のアカウントで書きます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| アラート | 題名、通知の種類、監視のID、優先度、タグ、時刻、イベントのURL | Datadog の Webhook の本文 |
| 監視と症状の対応表 | 監視のID、顧客に見える機能の名前、症状の書き方、影響する契約プラン、社内の用語の言い換え | 対応表のテーブル |
| 続報のメモ | 当番が書いた現在の状況、分かったこと、次の更新の予定 | Slack の対応チャンネル |
| これまでの版 | 同じ障害で掲載した版の本文と時刻 | 障害の台帳のテーブル |
| 文面の型 | 段階ごとの見出し、書く項目の順、決まった言い回し(お詫びの文) | 自社で決めた型(指示に埋め込む) |
質を決めるのは、監視と症状の対応表です。 api-gw-latency-p95 という監視が「打刻の画面の表示が遅くなる」ことに当たると書いてあれば、AIはその言葉で書けます。表が無ければ、AIは監視の名前から症状を推し量ることになります。 それは当番の頭の中にある知識を、AIに当てずっぽうで再現させることです。
お詫びの文は型に固定します。 AIに毎回書かせると、障害の大きさに関係なく言い回しが変わります。お詫びの程度を決めるのは会社で、文面の生成ではありません。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| アラートの本文 | Catch Hook で受けた JSON | 監視のID、通知の種類、時刻 |
| 対応表の行 | Zapier Tables を監視のIDで検索 | 顧客に見える機能と症状の言葉 |
| 障害の台帳の行 | Zapier Tables を監視のIDと状態「対応中」で検索 | 続報・復旧の対象の障害と、これまでの版 |
| 続報のメモ | Slack のトリガーで受けたメッセージの本文 | 現在の状況と次の更新の予定 |
続報のメモから障害を特定する方法を決めておきます。 対応チャンネルで同時に2つの障害を追うことは多くありませんが、ゼロではありません。「#続報 INC-0412」のように、メモの書き出しに台帳の障害番号を書く決まりにします。 番号は初報の承認依頼に載せておき、当番がそれを写します。
Datadog の本文は、送る側で JSON の形を決めておきます。 変数を並べた JSON を Webhooks インテグレーションの本文に書けば、Catch Hook の側で欄ごとに分かれて届きます。
AIへ渡す前に整形する
- 告知の対象かの確認 …
$TAGSにnotice:customerが含まれないものは止めます - 通知の種類で分ける … Paths で Triggered・Recovered・それ以外の3本に分けます。それ以外(Renotify など)は止めます
- 重複の確認 … 同じ監視のIDで状態が「対応中」の障害が台帳にあれば、初報を作らず、当番に「同じ監視の障害が対応中」と知らせます
- 時刻の変換 …
$DATEはエポックミリ秒なので、日本時間の「10月8日 14:05」の形にします - 対応表の引き当て … 監視のIDで対応表を引きます。見つからなければ下書きを作らず、当番に知らせます
- 社内の用語の洗い出し … 対応表に登録した社内の用語(監視の名前、サーバーの役割の略称、チーム名)が続報のメモに含まれていれば、その一覧を指示に渡します
5番目で下書きを作らないのは、対応表に無い監視は症状の言葉が無いからです。 作らせると、AIは監視の名前を顧客向けの言葉に「訳し」ます。その訳が合っているかを、障害の最中に当番が確かめる余裕はありません。
6番目は、AIに言い換えを任せるための準備です。 社内の用語を消すのはAIの仕事ですが、何が社内の用語かを決めるのは表です。
AIに処理させる
させるのは、決まった型の各項目を、渡した材料の範囲で埋めることだけです。
| 項目 | 書き方 | 材料が無いとき |
|---|---|---|
| 題名 | 「【障害】〇〇の機能がご利用しづらい状態について」の型 | 対応表の機能の名前を使う |
| 発生日時 | アラートの時刻(日本時間) | 書かない(空にする) |
| 影響を受ける機能 | 対応表の機能の名前 | 「確認中」 |
| 症状 | 対応表の症状の書き方と、メモに書かれた症状 | 対応表の書き方だけを使う |
| 現在の状況 | メモに書かれたことだけ | 「原因を調査しています」 |
| 次の更新の予定 | メモに書かれた時刻 | 「1時間以内に続報をお知らせします」(型の既定) |
| 復旧日時(復旧の版のみ) | 当番が承認の画面で入れる | AIは書かない |
右端の列が、この構成でいちばん大事な決まりです。 材料が無いところは、型の既定の言い回しで埋めるか、空にします。 AIの推測で埋めることはしません。
| させないこと | 理由 |
|---|---|
| 原因の記載 | 障害の最中に分かっている原因は仮説のことが多い。メモに「原因:」と確定の書き方がある場合だけ書く |
| 復旧の見込み時刻 | 約束になる。メモに書かれていても、承認の画面で当番が確かめる |
| データの消失・漏えいの有無 | 調べ終わるまで分からない。書くかどうかは会社が決める |
| お詫びの文の作成 | 型の文を使う |
| 影響する顧客の数・社名 | 社外に出す情報ではない |
| 復旧の宣言 | 回復の通知は監視の値の話。顧客の画面で直ったかは人が確かめる |
1行目がいちばん起きやすい失敗です。 メモに「DBの接続数が上限に張り付いている」と書かれていると、AIは「データベースの不具合により」と原因として書きます。張り付いているのは症状の1つで、原因とは限りません。
指示内容を固定する
あなたは法人向けSaaSの障害のお知らせの下書きを書く担当です。
読み手は契約企業の人事・総務の担当者で、技術の専門家ではありません。
下の【材料】だけを使い、【型】のとおりに書いてください。書かれていないことを推測しないでください。
【段階】{phase}(initial = 発生・調査中 / update = 続報 / resolved = 復旧)
【型】
題名: 【障害】{機能の名前}がご利用しづらい状態について(resolved は【復旧】)
本文の順: 発生日時 → 影響を受ける機能 → 症状 → 現在の状況 → 次の更新の予定
お詫びの文: 「ご迷惑をおかけしており、申し訳ございません。」(この文のまま使う)
【厳守事項】
- 原因は書かないでください。メモに「原因:」で始まる行がある場合だけ、その行の内容を書いてください。
「〜のため」「〜により」で原因のように読める書き方もしないでください。
- 復旧の見込みの時刻を書かないでください。
- データの消失や漏えいについて、あるともないとも書かないでください。
- 影響する会社の数や社名を書かないでください。
- 【社内の用語】にある語を本文に出さないでください。対応表の言い換えを使ってください。
- 現在の状況にメモから書くことが無い場合は「原因を調査しています」とだけ書いてください。
- 次の更新の予定がメモに無い場合は「1時間以内に続報をお知らせします」と書いてください。
- 続報では【これまでの版】の症状の書き方を変えないでください。変わった点だけを足してください。
- resolved の場合も「復旧しました」とは書かず、復旧日時の欄は空のままにしてください。
- 書けなかった項目と、材料のどこにも根拠が無い文が無いかを、それぞれの欄に書き出してください。
【材料】
アラート: {alert}
対応表: 機能={component} / 症状の書き方={symptom} / 言い換え={glossary}
続報のメモ: {memo}
これまでの版: {past_versions}
【社内の用語】{internal_terms}
「〜のため」「〜により」を名指しで禁じないと、原因が忍び込みます。 「原因は書かない」とだけ書くと、AIは原因の欄は空にしても、症状の文に「サーバーの負荷の高まりにより」と書き足します。禁じるのは、原因として読める書き方そのものです。
resolved でも「復旧しました」と書かせないのは、宣言を人に残すためです。 下書きに書いてあると、承認の画面で読み流されたまま出ます。空欄なら、当番は時刻を入れるときに必ず確かめます。
出力形式を固定する
AI by Zapier の出力の項目として、次の形で受け取ります。
{
"phase": "initial | update | resolved",
"title": "",
"body": "",
"affected_components": [""],
"next_update": "",
"missing_items": [""],
"internal_terms_found": [""],
"unsupported_sentences": [""]
}
1つ目の理由は、承認の画面に項目ごとに並べられることです。 Human in the Loop の承認依頼では、レビューする内容を名前と値の組で並べます。題名・本文・次の更新の予定を別の行にすると、当番は直す場所をすぐに見つけられます。
2つ目は、missing_items と unsupported_sentences を承認の画面の先頭に出せることです。 「影響を受ける機能が確認中」「根拠の無い文が1つ」と最初に見えれば、当番は本文を読む前に確かめる場所が分かります。
3つ目は、internal_terms_found で社内の用語の残りを機械的に止められることです。
| 条件 | 扱い |
|---|---|
internal_terms_found が空 | 承認依頼を出す |
internal_terms_found に語がある | 承認依頼の先頭に「社内の用語が残っています」と出す |
unsupported_sentences に文がある | 承認依頼の先頭にその文を出す |
phase が resolved | 復旧日時の欄を空にして承認依頼を出す。空のままでは承認しない決まりにする |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Datadog | Webhooks インテグレーション → Catch Hook | アラートを JSON で受ける |
| Slack(対応チャンネル) | New Message Posted to Channel | 「#続報」で始まるメモを受ける |
| Zapier Tables | 検索・作成・更新 | 障害の台帳、監視と症状の対応表 |
| AI by Zapier | Zap のステップ | 段階ごとのお知らせの下書き |
| Human in the Loop | Request Approval(Slack で通知) | 当番の責任者が直して承認 |
| Slack(掲載担当のチャンネル) | Send Channel Message | 承認された文面と障害番号を投稿 |
ステータスページには書き込みません。 掲載担当が貼る手間は残りますが、誤った文面が一瞬でも公開される経路を作らないためです。 承認から掲載までは数分の差で、初報が遅れていた理由はそこではありません。
承認依頼は Slack で当番の責任者に届けます。 承認の依頼はメールでも届けられますが、障害の最中に当番が見ているのは Slack です。 依頼に書く説明欄には、障害番号と Datadog のイベントのURLを入れます。
人が確認する
下書きはすべて、当番の責任者が承認してから出ます。 目標は、1版あたり10分です。
- 先頭の注意を読む … 社内の用語の残り、根拠の無い文、書けなかった項目
- 症状と影響を受ける機能を確かめる … 今わかっている状況と合っているか
- 次の更新の予定を確かめる … 守れる時刻か。守れないなら延ばします
- 復旧の版では、顧客の画面で直ったことを確かめてから時刻を入れる
- 直して承認する … 却下したら、手で書いて掲載担当に渡します
承認の待ち時間を決めておきます。 Request Approval では、待つ長さと、時間内に応答が無いときにそのまま続けるか、実行を終えるかを選べます。ここでは必ず「実行を終える」にします。 続ける設定にすると、誰も読んでいない文面が掲載担当に渡ります。待つ長さは15分にし、催促の通知を5分後に出します。
承認できる人を決めておきます。 Professional のプランでは承認の依頼を自分にしか送れないとされているので、当番の交代がある運用では Team 以上のプランが要ります。レビューする人は Zapier のアカウントを持ち、その Zap を共有されている必要があります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 対応表に無い監視が鳴った | 下書きを作らず、当番に知らせる。障害の後に対応表へ足す |
| 同じ監視の障害が対応中のまま再び鳴った | 初報を作らず、当番に知らせる |
| 承認が15分以内に無い | 実行を終える。当番の交代の担当に知らせる |
| 続報のメモに障害番号が無い | 台帳から「対応中」の障害が1件だけなら使う。2件以上なら当番に聞き返す |
| 回復の通知の後にまた鳴った(揺り戻し) | 復旧の下書きを捨て、続報として扱う |
| Datadog から Zapier に届かない | Datadog は5XXの応答のときに再送する。届かなければ当番が手で書く(今の運用に戻る) |
| 複数の監視が同時に鳴った | 同じ機能に当たるものは1件にまとめるよう、当番が台帳で統合する |
| AI by Zapier の利用規約に触れて止まる | 手で書く。下書きが作れないときの手順を残しておく |
「Zapier に届かない」の行と最後の行は、自動化が止まったときの話です。 障害の最中に Zap が動かなくても、手で書く今の手順に戻れば告知は出せます。 自動化を前提に今の手順を捨てないでください。
Datadog の再送は、こちらが5XXを返したときと内部のエラーのときだけです。 1回の要求は15秒で時間切れになり、つながらなかった要求は5回まで再送されるとされています。Zapier 側が受けた後に Zap の中で失敗した場合、Datadog は再送しません。
記録を残す
- アラートの本文(JSON)と受けた時刻
- 段階ごとのAIの出力(
body、missing_items、internal_terms_found、unsupported_sentences) - 承認の結果と、当番が直した後の文面(直す前と後の両方)
- 承認した人と時刻、却下・時間切れの記録
- 掲載担当が掲載した時刻
- 続報のメモの本文と、それを書いた人
3つ目で直す前と後の両方を残すのは、指示と対応表を直す材料にするためです。 同じ直しが続くなら、それは対応表の症状の書き方か、型が合っていないということです。
04実装レベルの3段階
最小構成では、障害の最中に貼る手間が残ります。 対応の合間に画面を開いて材料を貼るのは、文面を書くのと同じくらいの中断になります。確かめるための段階です。 本記事が想定するのは半自動化です。 1版30分が10分になります。本格構成で掲載まで自動にすると、承認から公開までがつながり、承認の画面での見落としがそのまま公開されます。 半自動化で半年ほど承認と直しの記録をためてから、直しがほとんど無い段階だけを自動にするか決めてください。
05工数削減シミュレーション
導入後 36件 × 10分 ÷ 60 = 6 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 法人向けのSaaSやECのサイトを運営し、障害や機能の遅延を顧客向けのステータスページやお知らせ欄で告知している会社。障害のたびに、対応中のエンジニアか当番の責任者がお知らせの文面を一から書いている場合。監視ツールのアラートを Webhook で外へ送れる場合。社内の対応のやり取りを Slack の決まったチャンネルで行っている場合。
- 障害の告知を月に1〜2回しか出さず、決まった担当者が丁寧に書けている場合。告知の文面に法令や監督官庁への報告の要件がかかり、文言を法務・コンプライアンスが1件ずつ決める必要がある場合(下書きは使えても、承認の流れが別に要る)。監視ツールのアラートを外部のサービスに送ることが社内の規程で認められていない場合。
07最小構成で試す方法
- 過去3か月の障害から10件を選ぶ(長引いて続報が多かったものを必ず入れる)
- その10件について、当時のアラート、対応チャンネルのやり取り、実際に出したお知らせを集める
- よく鳴る監視の10個ほどについて、監視と症状の対応表を手で作る
- 手元のAIサービスの画面に、第7章の指示、対応表、アラート、当時のメモを貼り、初報・続報・復旧を作らせる
- 実際に出したお知らせと並べ、当時の当番に「そのまま出せるか」を聞く
10件は必ずやってください。 Zap を組む前に、「対応表があれば顧客の言葉で書けるのか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時のお知らせと同じ中身で、言い回しがそろっている | Zap の作成に進む |
| 原因を書いてしまう | 指示の書き方で直る。構成は有効 |
| 症状の書き方がずれる | 対応表が先。 当番と掲載担当で症状の言葉を決め直す |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 原因が「〜により」の形で忍び込む | 原因として読める書き方を名指しで禁じる |
| 回復の通知で「復旧しました」が出る | 復旧日時を空にし、当番が確かめて入れる |
| 承認が時間切れで、そのまま流れる | 時間切れは「実行を終える」にする |
| Professional のプランで当番に承認依頼が届かない | 自分にしか送れない。 Team 以上にする |
| 再通知のたびに初報が作られる | $ALERT_TRANSITION で Renotify を止める |
| 対応チャンネルの全メッセージで Zap が動く | 「#続報」で始まるものに絞る |
| ボットの投稿で続報が作られない | 添付付きのボットの投稿は Zap を起こせない。当番が自分で書く |
| 対応表に無い監視で、監視の名前が顧客向けに「訳される」 | 下書きを作らず当番に知らせる |
| 続報で症状の書き方が変わる | これまでの版を渡し、変わった点だけを足す |
| 揺り戻しで復旧と発生が交互に出る | 回復の後の再発は続報として扱う |
上の3行が、この構成の失敗のほとんどです。 どれも「確かめていないことが顧客に出る」という同じ失敗です。下書きを速くすることより、確かめていないことを書かない仕組みのほうが、この業務では大事です。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 監視の名前とタグ、障害の時刻、対応チャンネルのメモ(システムの構成や弱いところが書かれていることがあります)、顧客向けの文面です。
- 外部のサービスに渡す範囲を決める … Datadog の本文に入れる変数は、題名・通知の種類・監視のID・タグ・時刻・URLに絞ります。
$SNAPSHOTのようなグラフの画像や、ホスト名を含む項目は入れません - 続報のメモに書かない情報を決める … 「#続報」で始まるメモはAIに渡ります。攻撃の疑い、脆弱性、認証の情報は書かない決まりにします。 セキュリティの事故は、この構成の対象から外します
- 公開を自動にしない … 掲載は掲載担当が行います。障害の告知は、契約や監督官庁への報告の起点になることがあります
- データの消失・漏えいについて書かせない … 書くかどうかと書き方は、会社として決めることです
- AI by Zapier のモデルの選び方を決める … Zapier が用意するモデルを使うか、自社で契約している生成AIのキー(OpenAI・Anthropic・Google Gemini・Azure OpenAI・Amazon Bedrock)を使うかを決めます
- 承認の権限を当番の責任者に限る … Zap を共有する相手が、そのまま承認できる人になります
誤りが起きた場合のリスクは、確かめていない原因や復旧を顧客に伝えることと、社内の情報が顧客向けの文面に出ることの2つです。 前者は指示の禁止事項と承認で防ぎ、後者は対応表の社内の用語と internal_terms_found で防ぎます。
10まず何から始めるか
1週目:告知の対象の監視を決める
過去3か月にお知らせを出した障害を並べ、どの監視が鳴ったときに告知したかを数えます。その監視から10個ほどを選び、監視と症状の対応表を作ります。当番と掲載担当の2人で作ると、症状の言葉が顧客向けにそろいます。
2週目:10件で試す
過去の障害10件の材料を手元のAIサービスに貼り、初報・続報・復旧を作らせます。原因が書かれていないか、社内の用語が残っていないかを最優先で見ます。
3週目:型と承認の決まりを固める
段階ごとの型、お詫びの文、次の更新の既定の時刻を決めます。承認できる人、待つ長さ、時間切れの扱いを、運用チームの責任者と決めます。
4週目:初報の Zap を作る
Datadog の Webhook から初報の下書き、承認、掲載担当への投稿までを作ります。この時点では、承認された文面を掲載せず、当番が手で書いた文面と並べて比べます。
2か月目: 続報と復旧の Zap を足し、実際の障害で使い始めます。直す前と後の文面を毎週読み、対応表を直します。3か月目以降: 告知の対象の監視を広げます。承認の画面での直しがほとんど無くなった段階で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Webhooks インテグレーションでURLと名前を登録し、本文を変数で組めること。$EVENT_TITLE・$ALERT_TRANSITION(Triggered/Recovered/Renotify など)・$ALERT_ID・$ALERT_PRIORITY・$TAGS・$DATE(エポックミリ秒)・$LINK・$SNAPSHOT があること。監視のメッセージに @webhook-<名前> を書くと JSON で POST されること。再送が内部のエラーと5XXのときだけで、1回15秒で時間切れ、5回まで再送されること | Datadog: Webhooks | 2026-10-08 |
| Catch Hook が本文を解析して固有のURLで受けること。Free では使えず Professional・Team・Enterprise で使えること。トリガーで受けられる本文が最大10MBであること | Zapier: Trigger Zaps from webhooks | 2026-10-08 |
| New Message Posted to Channel が選んだチャンネルへの新しい投稿ですぐ動くこと。ボットなどの添付付きのメッセージは Zap を起こせないこと。Send Channel Message があること。1チャンネルあたり1秒に1件の投稿の制限があること | Zapier: How to get started with Slack on Zapier | 2026-10-08 |
| AI by Zapier が Professional・Team・Enterprise で使えること。モデルの段階とタスクの消費(1倍・3倍・5倍)、自前のキーで使える提供元。出力の項目を名前・型・説明・必須で定義できること | Zapier: Use AI by Zapier to analyze and return data | 2026-10-08 |
| Request Approval が実行を止めて承認・却下・内容の変更を求めること。通知がメール・Slack・別の Zap であること。レビューする人に編集を許せること。待つ長さと時間切れのときに続けるか終えるかを選べること。Professional では自分にしか送れないこと。レビューする人に Zapier のアカウントと Zap の共有が要ること。Looping の中や後に置けないこと | Zapier: Request approval with Human in the Loop | 2026-10-08 |
| Paths が Professional 以上で使え、1つのグループに最大10本の分岐とフォールバックを置けること | Zapier: Add branching logic with Paths | 2026-10-08 |
| Zapier Tables が自動化のためのデータの置き場で、レコードを手でも Zap からも足せること | Zapier: Zapier Tables | 2026-10-08 |
障害の告知に契約上・法令上の報告の要件がかかる場合は、承認の流れを自社の法務・コンプライアンスと決めてください。 本記事は各製品の公式ドキュメントで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1118)についてのご相談はこちらから。
