GAS入門シリーズ。毎回ちがう「自動化の型」を1つずつ覚えていきます。
各回は独立した内容。第1〜3回に出ていなくても、今日だけで完結します。
テーマは「Webhook」。GASから外のサービスへ送る、初めての回です。
気になったこと、聞き逃したこと、どんなことでも気軽にどうぞ。
1=OK/2=なんとなく/3=置いていかれた。文章にしなくて大丈夫です。
あとから見返せます。その場で全部わからなくて大丈夫です。
業務自動化エキスパート/書籍著者。
GoogleのツールとGAS(Google Apps Script)で「手作業をなくす」業務自動化をテーマに、セミナー登壇や書籍の執筆をしています。
本シリーズでは、毎回1時間で自動化の型を1つずつお見せします。
左の「+」→「オリジナルの作成」→「自分と友達のため」。自分だけのサーバーでOK
通知を届けたいチャンネル名の横の歯車
左メニューの「連携サービス」の中にあります
名前を付けて(例: 予定お知らせ)、投稿先チャンネルを確認
https://discord.com/api/webhooks/… で始まる長いURLがコピーされます
カレンダー・Gmail・スプレッドシートを、面倒な認証なしにそのまま操作できます。
「時刻が来たら」「フォームが届いたら」——PCを開いていなくても動きます(第1〜3回)。
URLに向かって文章を投げられます。Discord・Slack・LINE——今日はここ。

時間主導トリガーが、決まった時刻にスクリプトを呼び出します。
カレンダーから、その日の予定をまとめて取得します。
文章をJSONに包んで、Webhook URLへPOSTします。これだけ。
| 回 | 覚える型 | 中身 |
|---|---|---|
| 第1回 | onFormSubmit | フォームに回答が届いたら動く |
| 第2回 | onOpen | スプレッドシートを開いたら動く |
| 第3回 | 時間主導トリガー | 決まった時刻に動く |
| 第4回(今日) | Webhook | 外のサービスへ送る——Discord。第5回Slack・第6回LINEも同じ書き方 |
const WEBHOOK_URL = '(コピーしたURL)'; function sendHello() { sendToDiscord('こんにちは!GASからの初投稿です'); } function sendToDiscord(text) { UrlFetchApp.fetch(WEBHOOK_URL, { // ① このURLに method: 'post', // ③ POSTで contentType: 'application/json', payload: JSON.stringify( { content: text } // ② この文章を ) }); }



function sendTodayScheduleToDiscord() {
const today = new Date();
const events = CalendarApp.getDefaultCalendar()
.getEventsForDay(today); // 今日の予定を取る
sendToDiscord( // ← ステップ1の部品
buildMessage(today, events));
}
function createDailyTrigger() {
deleteDailyTrigger(); // 二重登録を防ぐ
ScriptApp.newTrigger('sendTodayScheduleToDiscord')
.timeBased().atHour(7)
.everyDays(1).create(); // 毎日7時台
}

| 症状 | よくある原因 | 直し方 |
|---|---|---|
| 「URLを貼ってください」と出る | URLを貼り替えていない/引用符を消した | 'https://discord.com/api/webhooks/…' の形になっているか確認 |
| 実行数に 404 / 401 | URLが途中で欠けている/Discord側で削除済み | もう一度「ウェブフックURLをコピー」して貼り直す |
| 「こんにちは」は届くのに予定が届かない | カレンダーの承認が未完了/別のカレンダー | sendTodayScheduleToDiscord をもう一度実行し、承認を最後まで進める |
Webhook URLを増やすだけ。「営業」「総務」に別々の予定を流せます。
予定の一覧をGeminiに渡して「今日の一言」を付けてから投稿。ただ通知するだけで終わらない使い方です。
「URLにJSONをPOST」は同じ型。次回・第5回はSlack、第6回はLINEに送り先を変えます。
Webhook=合言葉つきの投函口。URLにJSONをPOSTするだけ
コードと手順書は配布します。実装は後日でOK
次回・第5回はSlack連携。今日と同じ型で、送り先だけ変えます