SHIFT AI WEBINAR — GAS入門④

Discordに自動で
通知が届くようにする60分

Webhookを覚える/今日も「見て学ぶ」回です
けいたろう
けいたろう
業務自動化エキスパート
SHIFT AI WEBINAR GAS入門④2026.9.21(月)
SERIES

本シリーズについて

01

月2回・年内全10回

GAS入門シリーズ。毎回ちがう「自動化の型」を1つずつ覚えていきます。

02

単発参加OK

各回は独立した内容。第1〜3回に出ていなくても、今日だけで完結します。

03

今日は第4回

テーマは「Webhook」。GASから外のサービスへ送る、初めての回です。

Discordの準備がまだでも大丈夫——今日は見るだけでOK
SHIFT AI WEBINAR GAS入門④02
FORMAT

今日の進め方

今日は——
わたしが実際に作るところを
見ていただく回です
コードと手順書は、いまチャットに貼ったURLにぜんぶあります。一緒にやりたい方はそこから。
追いつけなくて大丈夫。ご自身の実装は後日でかまいません。
途中で4回、「ここまで理解できましたか?」と聞きます——数字を1つ打つだけ
SHIFT AI WEBINAR GAS入門④03
WELCOME

チャット・リアクション、大歓迎です

01

なんでもチャットへ

気になったこと、聞き逃したこと、どんなことでも気軽にどうぞ。

02

理解チェックは数字だけ

1=OK/2=なんとなく/3=置いていかれた。文章にしなくて大丈夫です。

03

アーカイブがあります

あとから見返せます。その場で全部わからなくて大丈夫です。

チャットの質問はセクションの切れ目で拾います
SHIFT AI WEBINAR GAS入門④04
PROFILE

自己紹介

けいたろう
けいたろう

業務自動化エキスパート/書籍著者。
GoogleのツールとGAS(Google Apps Script)で「手作業をなくす」業務自動化をテーマに、セミナー登壇や書籍の執筆をしています。
本シリーズでは、毎回1時間で自動化の型を1つずつお見せします。

著書
SHIFT AI WEBINAR GAS入門④05
1
PART 1

今日の前提 と Webhook

用意するもの、そして今日いちばん大事な言葉を1つ(7分)
REQUIREMENTS

用意するもの/要らないもの

必要なもの
  • Googleアカウント(Gmailが使えていればOK)
  • Discordアカウント(無料・ブラウザでOK)
  • DiscordのWebhook URL(取り方は次の次のページ)
要らないもの
  • インストール作業
  • クレジットカード・課金
  • プログラミングの経験
  • 第1〜3回の参加
Discordがまだ無い方も見るだけで大丈夫——手順書に取り方を全部書いています
SHIFT AI WEBINAR GAS入門④07
WHAT IS WEBHOOK

Webhookとは?

Webhook(ウェブフック)=
「ここに文章を投げれば、このチャンネルに投稿される」
専用のURL
合言葉つきの投函口だと思ってください。投函口のURLを知っていれば、誰でも・どこからでも投稿できます。
だからURLは人に見せない。今日わたしも、貼るときは画面を隠します。
今日覚える言葉はこれ1つ——Webhook=合言葉つきの投函口
SHIFT AI WEBINAR GAS入門④08
DISCORD SETUP

Webhook URLの取り方(5クリック)

1

練習用サーバーを作る

左の「+」→「オリジナルの作成」→「自分と友達のため」。自分だけのサーバーでOK

2

チャンネルの ⚙ を開く

通知を届けたいチャンネル名の横の歯車

3

連携サービス → ウェブフック

左メニューの「連携サービス」の中にあります

4

「新しいウェブフック」

名前を付けて(例: 予定お知らせ)、投稿先チャンネルを確認

5

「ウェブフックURLをコピー」

https://discord.com/api/webhooks/… で始まる長いURLがコピーされます

迷うのは「連携サービス」の中——手順書のステップ0に同じ手順があります
SHIFT AI WEBINAR GAS入門④09
CHECK 1 / 4

ここまで理解できましたか?

ここまでの3行
  • 今日は見る回。コードと手順書はチャットのURLにある
  • Webhook=合言葉つきの投函口(専用URL)
  • URLはDiscordの「連携サービス → ウェブフック」で取る。人に見せない
チャットに数字を1つ
1
OK、進んで大丈夫
2
なんとなく聞いていればついていける
3
置いていかれたもう一度だけ説明してほしい
10秒待ちます。3が多ければ、言い方を変えてもう一度。多数決で先に進みます。
SHIFT AI WEBINAR GAS入門④10
2
PART 2

GAS超入門

3分だけ。毎回やる定番パートです(前回参加の方は復習)
WHAT IS GAS

GASとは?——今日は「外へ送れる」を足します

01

Googleと直結

カレンダー・Gmail・スプレッドシートを、面倒な認証なしにそのまま操作できます。

02

トリガーで自動実行

「時刻が来たら」「フォームが届いたら」——PCを開いていなくても動きます(第1〜3回)。

03

外のサービスへも送れる

URLに向かって文章を投げられます。Discord・Slack・LINE——今日はここ。

今日もスプレッドシートは使いません——ドライブから単体で作ります(第3回と同じ)
SHIFT AI WEBINAR GAS入門④12
HOW TO OPEN

エディタの開き方

  • ドライブから3クリックで開きます。
  • drive.google.com を開く
  • 左上の +新規 → その他
  • Google Apps Script を選ぶ
  • 無いときは「その他」→「アプリを追加」
ドライブの+新規→その他→Google Apps Script
迷うのは「その他」の中——ここさえ分かれば大丈夫
SHIFT AI WEBINAR GAS入門④13
3
PART 3

今日作るもの

仕組みを1枚の図で。動くところは実演で初めてお見せします(5分)
TODAY'S GOAL

今日作るもの

毎朝7時——
今日の予定がまとめて
Discordに届く
第3回では同じものをメールに届けました。今日は送り先だけをDiscordに変えます。
チームのチャンネルに流せば、全員が朝いちで同じ予定を見られます。
まず「こんにちは」を1回送るところから始めます
SHIFT AI WEBINAR GAS入門④15
HOW IT WORKS

仕組みの全体像

やっていることは、たった3つです(第3回と最後だけ違います)
TRIGGER

毎朝7時に起動

時間主導トリガーが、決まった時刻にスクリプトを呼び出します。

▶
CALENDAR

今日の予定を取る

カレンダーから、その日の予定をまとめて取得します。

▶
WEBHOOK

Discordへ投げる

文章をJSONに包んで、Webhook URLへPOSTします。これだけ。

起動する・取ってくる・投げる——今日の新顔は3つ目だけ
SHIFT AI WEBINAR GAS入門④16
SERIES MAP

シリーズの地図——今日は「どこへ送るか」の型

第1〜3回は「動くきっかけ」を覚えました。今日から「送り先」を増やします
回覚える型中身
第1回onFormSubmitフォームに回答が届いたら動く
第2回onOpenスプレッドシートを開いたら動く
第3回時間主導トリガー決まった時刻に動く
第4回(今日)Webhook外のサービスへ送る——Discord。第5回Slack・第6回LINEも同じ書き方
今日の型を覚えると、送り先を変えるだけで次の2回もできる
SHIFT AI WEBINAR GAS入門④17
CHECK 2 / 4

ここまで理解できましたか?

ここまでの3行
  • 作るのは「毎朝、今日の予定がDiscordに届く」ツール
  • やることは起動する・取ってくる・投げるの3つ
  • 今日の新顔は3つ目のWebhookへ投げるだけ
チャットに数字を1つ
1
OK、実演に進んで大丈夫
2
なんとなく動くところを見れば分かりそう
3
置いていかれた図をもう一度
3が多ければ、前の図を指しながら「送るだけです」と言い直します。
SHIFT AI WEBINAR GAS入門④18
4
PART 4

ここから実演します

2ステップ・20分。見ているだけでOKです
STEP 1

ステップ1:まず「こんにちは」を1回送る

sendHello → sendToDiscord — URLにJSONをPOSTするだけcode.gs
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 }              // ② この文章を
    )
  });
}
  • UrlFetchApp.fetch() = URLに向かって送る部品
  • 送る中身は { content: "文章" } の1行だけ
  • Discordはこれを受け取るとチャンネルに投稿してくれる
  • URLを貼るとき、画面を隠します(人に見せない)
いきなり自動化しない——まず手で1回送って、届くのを見る
SHIFT AI WEBINAR GAS入門④20
AUTHORIZATION

ここで必ず一度止まります

1

「権限を確認」

承認が必要ですダイアログ
2

左下の「詳細」

このアプリはGoogleで確認されていません
3

中身を見て許可

アクセスできる情報の確認
今日は「外部サービスへの接続」の許可が出ます——自作コードへの許可、それだけです
SHIFT AI WEBINAR GAS入門④21
CHECK 3 / 4

ここまで理解できましたか?

ここまでの3行
  • コードを貼って、Webhook URLを1か所入れた
  • ▶実行 → 承認ダイアログを「詳細」→「移動」→「許可」で通した
  • Discordに「こんにちは」が届いた——これが今日の核
チャットに数字を1つ
1
OK、次のステップへ
2
なんとなく手順書があれば自分でもできそう
3
置いていかれた承認のところをもう一度
3が多ければ、承認ダイアログと「届いた」画面だけをもう一度ゆっくり見せます。
SHIFT AI WEBINAR GAS入門④22
STEP 2

ステップ2:毎朝の予定を、Discordへ

送り先を Gmail → Discord に変えただけcode.gs
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時台
}
  • 予定を取るのは第3回とまったく同じ
  • 最後の1行だけ sendToDiscord() に差し替え
  • createDailyTrigger は1回だけ実行すればOK
  • これで明日の朝から、Discordに勝手に届く
部品を1つ差し替えるだけで、送り先が変わる——これがWebhookの型
SHIFT AI WEBINAR GAS入門④23
CHECK & STOP

動いているかの確認と、止め方(2通り)

  • 左メニューの「トリガー(時計のアイコン)」がコントロールパネルです。
  • 確認: sendTodayScheduleToDiscord の行が1件あればON / 止める①: 「⋮」→「トリガーを削除」
  • 止める②: Discord側で「ウェブフックを削除」——URLが漏れたときはこちら。時刻は分単位で指定できません(7時〜8時のあいだ)
トリガー画面に時間主導トリガーが1件
GAS側でもDiscord側でも止められる——戻せると分かれば安心して試せる
SHIFT AI WEBINAR GAS入門④24
CHECK 4 / 4

ここまで理解できましたか?

ここまでの3行
  • 予定を取る部分は第3回と同じ。送る部品だけ差し替えた
  • createDailyTrigger を1回実行すれば、毎朝動く
  • 止め方はGAS側・Discord側の2通り
チャットに数字を1つ
1
OK、流れはつかめた
2
なんとなく後日、手順書を見ながらやってみる
3
置いていかれたトリガーのところをもう一度
3が多ければ、トリガー画面を見せて「1回実行しただけ」を強調します。ここが最後のチェックです。
SHIFT AI WEBINAR GAS入門④25
TROUBLE SHOOTING

うまく動かないとき トップ3

症状よくある原因直し方
「URLを貼ってください」と出るURLを貼り替えていない/引用符を消した'https://discord.com/api/webhooks/…' の形になっているか確認
実行数に 404 / 401URLが途中で欠けている/Discord側で削除済みもう一度「ウェブフックURLをコピー」して貼り直す
「こんにちは」は届くのに予定が届かないカレンダーの承認が未完了/別のカレンダーsendTodayScheduleToDiscord をもう一度実行し、承認を最後まで進める
ほとんどはこの3つ——手順書にも同じ表を載せています
SHIFT AI WEBINAR GAS入門④26
NEXT ACTION

この型でできること

01

チャンネルを送り分ける

Webhook URLを増やすだけ。「営業」「総務」に別々の予定を流せます。

02

AIに要約させてから送る

予定の一覧をGeminiに渡して「今日の一言」を付けてから投稿。ただ通知するだけで終わらない使い方です。

03

Slack・LINEにも送る

「URLにJSONをPOST」は同じ型。次回・第5回はSlack、第6回はLINEに送り先を変えます。

送り先を変えるだけ——今日の型は、これから2回続けて使います
SHIFT AI WEBINAR GAS入門④27
WRAP UP

まとめ/次回・Q&A

今日の持ち帰りは「外へ送る=Webhook」という型
TAKEAWAY 01

Webhook=合言葉つきの投函口。URLにJSONをPOSTするだけ

TAKEAWAY 02

コードと手順書は配布します。実装は後日でOK

NEXT

次回・第5回はSlack連携。今日と同じ型で、送り先だけ変えます

次回の日程は、SHIFT AI会員サイトのイベントページでご案内します。
本日はありがとうございました。質問はチャットへどうぞ——答えきれない分は次回の冒頭で拾います。
SHIFT AI WEBINAR GAS入門④28
1 / 25
← → キーで移動 / Fでフルスクリーン / 印刷(Cmd+P)でPDF化