中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
SHIFT AI WEBINAR — GAS入門⑤

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

Incoming Webhookを覚える/中級者向け・今日も「見て学ぶ」回です
けいたろう
けいたろう
業務自動化エキスパート
SHIFT AI WEBINAR GAS入門⑤2026.10.14(水)
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
SERIES

本シリーズについて

01

月2回・年内全10回

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

02

単発参加OK

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

03

今日は第5回

前回のDiscordに続き、Slackへ送ります。型は同じ、違うのは「投函口の取り方」だけ。

今日は中級者向け・Slackを使う人向け——次のページの事前テストで確かめます
SHIFT AI WEBINAR GAS入門⑤02
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
FORMAT

今日の進め方

今日は——
わたしが実際に作るところを
見ていただく回です
コードと手順書は、いまチャットに貼ったURLにぜんぶあります。一緒にやりたい方はそこから。
追いつけなくて大丈夫。ご自身の実装は後日でかまいません。
このあと事前テスト(5問)で点数を出し、チャットに書いてもらいます
SHIFT AI WEBINAR GAS入門⑤03
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
PRE-TEST

事前テスト——5問中3つ以上で「中級」(受講資格あり)

1
GASのエディタ(Apps Script)を自分で開いたことがある
2
コードを貼り付けて▶実行したことがある
3
承認ダイアログ(「詳細」→「移動」→「許可」)を通したことがある
4
トリガー(時計のアイコン)を作ったか消したことがある
5
「Webhook」の意味を、人にひとことで説明できる
3〜5点 = 中級

今日の想定レベルです。どんどんコメントしてください。改善点も積極的に反映します

0〜2点

参加は歓迎です。今日は見るだけで「こんなことができるんだ」を持ち帰ってください。第1〜3回のアーカイブで基礎をやると、次は3点以上になります

「やったことがある」の数があなたの点数——次のページでチャットに書いてください
SHIFT AI WEBINAR GAS入門⑤04
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
CHAT

いま、チャットに点数を書いてください(1分)

書き方は「数字だけ」
  • 例: 4 / 2 / 0
  • 3点以上の方: 今日はコメント大歓迎。つまずき・質問・改善点をどんどん
  • 2点以下の方: 見るだけでOK。コメントは控えめに(3点以上の方の質問を優先して拾います)
  • 最後のアンケートでこの点数を必ず回答してもらいます(点数を踏まえて意見を読むため)
この回が向かない方(正直に言います)
  • Slackを使っていない・使う予定がない方には、今日の内容は意味がありません
  • 「なぜSlackなのか」が疑問の方は、今回は聞かないほうがいいです(第4回 Discord/第6回 LINE へ)。「何ができるか見たい」だけなら流し見で歓迎
今日は中級者向け・Slackを使う人向け——何度でも念押しします
SHIFT AI WEBINAR GAS入門⑤05
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
WELCOME

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

01

なんでもチャットへ

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

02

理解チェックは数字だけ

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

03

アーカイブがあります

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

チャットの質問はセクションの切れ目で拾います
SHIFT AI WEBINAR GAS入門⑤06
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
PROFILE

自己紹介

けいたろう
けいたろう

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

著書
SHIFT AI WEBINAR GAS入門⑤07
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
1
PART 1

今日の前提 と SlackのWebhook

用意するもの、そして「投函口」のもらい方を実画面で(9分)/念押し: 今日は中級者向け(事前テスト3点以上)です
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
REQUIREMENTS

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

必要なもの
  • Googleアカウント(Gmailが使えていればOK)
  • Slackのワークスペース(無料・自分だけの練習用でOK)
  • SlackのWebhook URL(取り方はこのあと実画面で)
  • ターミナル(Mac: ターミナル/Windows: PowerShell)——PCに最初から入っています
要らないもの
  • インストール作業
  • クレジットカード・課金
  • プログラミングの経験
会社のSlackより自分の練習用ワークスペースが安全——なぜ: 会社では管理者の承認が要ることがある
SHIFT AI WEBINAR GAS入門⑤09
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
WHAT IS WEBHOOK

Webhookとは?——Slackは「アプリ」を先に作ります

前回(Discord)
  • Webhook=合言葉つきの投函口(専用URL)
  • チャンネルの設定からすぐもらえた
  • 投函口のURLを知っていれば誰でも投稿できる → 人に見せない
今日(Slack)
  • 投函口の考え方はまったく同じ
  • ただし「アプリ」を1つ作ってから投函口をもらう
  • なぜ: Slackは「誰が投稿するか」を先に決める仕組みだから。投稿はそのアプリの名前で届く
違いは投函口のもらい方だけ——送り方は前回と同じ
SHIFT AI WEBINAR GAS入門⑤10
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
SLACK SETUP 1/3

Webhook URLの取り方(前半)——アプリを作る

1

api.slack.com/apps → 右上の Create New App

Your Apps画面
2

Blank app を選んで Continue → 名前(英数字)とワークスペース → Create

Create new appモーダル
名前は英数字だけ(日本語は弾かれます)——例: GAS Notify
SHIFT AI WEBINAR GAS入門⑤11
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
SLACK SETUP 2/3

Webhook URLの取り方(後半A)——機能をONにする

3

左メニュー Features の中の Incoming Webhooks

Incoming Webhooks Off
4

右上のスイッチを Off → On(画面が下に伸びる)

Incoming Webhooks On
なぜ?——Slackのアプリは機能を1つずつONにする作り。今日使うのは Incoming Webhooks だけ
SHIFT AI WEBINAR GAS入門⑤12
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
SLACK SETUP 3/3

Webhook URLの取り方(後半B)——投函口をもらう

5

画面の一番下 Add New Webhook

Add New Webhook
6

日本語の許可画面 → チャンネルを選んで「許可する」

許可画面
許可すると元の画面にURLが1行できる → Copy。それが投函口(人に見せない)
SHIFT AI WEBINAR GAS入門⑤13
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
CHECK 1 / 4

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

ここまでの3行
  • Webhook=合言葉つきの投函口。Slackはアプリを作ってからもらう
  • 押すのは5か所: Create New App → Incoming Webhooks On → Add New Webhook → 許可 → Copy
  • URLは人に見せない(手順書ステップ0に同じ画面)
チャットに数字を1つ
1
OK、進んで大丈夫
2
なんとなく手順書があれば自分でもできそう
3
置いていかれた画面をもう一度
10秒待ちます。3が多ければ、前の2枚を指しながら「押すのは5か所」と言い直します。多数決で進みます。
SHIFT AI WEBINAR GAS入門⑤14
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
2
PART 2

GAS超入門

3分だけ。毎回やる定番パートです(前回参加の方は復習)
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
WHAT IS GAS

GASとは?——「外へ送れる」道具です

01

Googleと直結

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

02

トリガーで自動実行

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

03

外のサービスへも送れる

URLに向かって文章を投げられます。Discord(前回)・Slack(今日)・LINE(次回)。

今日はスプレッドシートを使います——送った記録(ログ)をシートに貯めるため。第1・2回と同じ開き方
SHIFT AI WEBINAR GAS入門⑤16
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
HOW TO OPEN

エディタの開き方——今日はスプレッドシートから

1

新しいスプレッドシート → メニュー「拡張機能」→「Apps Script」

拡張機能→Apps Script
2

新しいタブでエディタが開く(ここにコードを貼る)

Apps Scriptエディタ
なぜシートから?——送った記録を「ログ」シートに1行ずつ残すため。第3・4回はドライブから単体で作りました
SHIFT AI WEBINAR GAS入門⑤17
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
3
PART 3

今日作るもの

仕組みを1枚の図で。動くところは実演で初めてお見せします(5分)/念押し: 今日は中級者向け(事前テスト3点以上)です
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
HOW IT WORKS

仕組みの全体像——前回と違うのは2点だけ

毎朝7時、今日の予定がSlackに届く。やっていることは前回と同じ3つです
TRIGGER

毎朝7時に起動

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

▶
CALENDAR

今日の予定を取る

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

▶
WEBHOOK

Slackへ投げる

違い①: 送り先がSlackのURL。違い②: JSONのキーが content → text。送った記録はシートに1行残す。

送り先と1単語を変えるだけ——これがWebhookの型を覚えた人の強み
SHIFT AI WEBINAR GAS入門⑤19
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
CHECK 2 / 4

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

ここまでの3行
  • 作るのは「毎朝、今日の予定がSlackに届く」ツール
  • やることは起動する・取ってくる・投げるの3つ(前回と同じ)
  • 前回と違うのは送り先URLとcontent→textの2点だけ
チャットに数字を1つ
1
OK、実演に進んで大丈夫
2
なんとなく動くところを見れば分かりそう
3
置いていかれた図をもう一度
3が多ければ、前の図を指しながら「送り先と1単語だけです」と言い直します。
SHIFT AI WEBINAR GAS入門⑤20
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
4
PART 4

ここから実演します

3ステップ・20分(ターミナル → GAS → 毎朝)。見ているだけでOKです/念押し: 中級者向け(3点以上)のペースで進めます
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
TERMINAL

ターミナルとは?——文字でPCに命令する窓

Macの方
  • アプリ名は「ターミナル」
  • 開き方: Spotlight(⌘+スペース)に「ターミナル」と打つ/Launchpad →「その他」
  • 黒い(または白い)窓が開いて、文字を打つ場所が出ればOK
Windowsの方
  • アプリ名は「PowerShell」(「コマンドプロンプト」でも可)
  • 開き方: スタートボタンで「powershell」と打つ → Enter
  • 青い(または黒い)窓が開いて、文字を打つ場所が出ればOK
なぜ挟む?——Webhookは「URLに投げるだけ」。いちばん小さな道具で1回体感すると、GASが何をしているか分かる
SHIFT AI WEBINAR GAS入門⑤22
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
STEP 1

ステップ1:ターミナルから「Hello」を1回送る

Mac — ターミナルに1行貼って Entercurl
curl -X POST \
  -H 'Content-type: application/json' \
  --data '{"text":"Hello from terminal!"}' \
  https://hooks.slack.com/services/(あなたのURL)
Windows — PowerShell に1行貼って Entercurl.exe
curl.exe -X POST ^
  -H "Content-type: application/json" ^
  -d "{\"text\":\"Hello from terminal!\"}" ^
  https://hooks.slack.com/services/(あなたのURL)
  • curl = 「このURLにこれを投げて」と頼む道具。Mac・Windowsに最初から入っている
  • Slackに「Hello from terminal!」が届いたら成功。これがWebhookの全部
  • なぜ英語?——ターミナルは日本語の文字化けが起きやすいから。日本語はGASで送ります
  • URLの行は画面に映さない(人に見せない)
「URLにJSONをPOSTする」を、道具を変えて2回見る——次はGASで同じことをします
SHIFT AI WEBINAR GAS入門⑤23
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
STEP 2

ステップ2:GASから送る+ログをシートに残す

sendHello → sendToSlack — ターミナルと同じことをGASでcode.gs
const WEBHOOK_URL = '(コピーしたURL)';
function sendHello() {
  sendToSlack('こんにちは!GASからの初投稿です');
}
function sendToSlack(text) {
  UrlFetchApp.fetch(WEBHOOK_URL, {   // ① このURLに
    method: 'post',                  // ③ POSTで
    contentType: 'application/json',
    payload: JSON.stringify(
      { text: text }                 // ② Slackは text
    )
  });
  logToSheet(text);                  // ④ シートに1行残す
}
  • UrlFetchApp.fetch() = さっきの curl と同じ。URLに向かって送る部品
  • 送る中身は { text: "文章" } の1行だけ(Discordは content でした)
  • logToSheet() = 日時・本文・結果を「ログ」シートに1行追記。なぜ: あとで「いつ・何を送ったか」を見返せる
  • URLを貼るとき、画面を隠します(人に見せない)
ターミナルでやったことをGASに引っ越すだけ——届いたら、シートにも1行増えている
SHIFT AI WEBINAR GAS入門⑤24
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
AUTHORIZATION

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

1

「権限を確認」

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

左下の「詳細」

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

中身を見て許可

アクセスできる情報の確認
なぜ出る?——自分で書いたコードに自分で許可を出すため。それだけです
SHIFT AI WEBINAR GAS入門⑤25
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
CHECK 3 / 4

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

ここまでの3行
  • ターミナルの curl で1回、GASの sendHello で1回——同じURLに同じJSONを投げた
  • ▶実行 → 承認ダイアログを「詳細」→「移動」→「許可」で通した
  • Slackに届き、「ログ」シートに1行増えた——これが今日の核
チャットに数字を1つ
1
OK、次のステップへ
2
なんとなく手順書があれば自分でもできそう
3
置いていかれた承認のところをもう一度
3が多ければ、承認ダイアログと「届いた」画面だけをもう一度ゆっくり見せます。
SHIFT AI WEBINAR GAS入門⑤26
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
STEP 3

ステップ3:毎朝の予定を、Slackへ

送り先を Discord → Slack に変えただけcode.gs
function sendTodayScheduleToSlack() {
  const today = new Date();
  const events = CalendarApp.getDefaultCalendar()
    .getEventsForDay(today);         // 今日の予定を取る
  sendToSlack(                       // ← ステップ1の部品
    buildMessage(today, events));
}
function createDailyTrigger() {
  deleteDailyTrigger();              // 二重登録を防ぐ
  ScriptApp.newTrigger('sendTodayScheduleToSlack')
    .timeBased().atHour(7)
    .everyDays(1).create();          // 毎日7時台
}
  • 予定を取るのは第3回・第4回とまったく同じ
  • 最後の1行だけ sendToSlack() に差し替え(ログも自動で残る)
  • createDailyTrigger は1回だけ実行すればOK
  • なぜ1回?——トリガーは登録しておく仕掛けだから。毎回実行するものではない
部品を1つ差し替えるだけで、送り先が変わる——Webhookの型
SHIFT AI WEBINAR GAS入門⑤27
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
CHECK & STOP

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

  • 左メニューの「トリガー(時計のアイコン)」がコントロールパネルです。
  • 確認: sendTodayScheduleToSlack の行が1件あればON / 止める①: 「⋮」→「トリガーを削除」
  • 止める②: Slack側で Incoming Webhooks のゴミ箱アイコン(またはスイッチをOff)。時刻は分単位で指定できません(7時〜8時のあいだ)
トリガー画面に時間主導トリガーが1件
GAS側でもSlack側でも止められる——戻せると分かれば安心して試せる
SHIFT AI WEBINAR GAS入門⑤28
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
CHECK 4 / 4

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

ここまでの3行
  • 予定を取る部分は前回と同じ。送る部品だけ差し替えた
  • createDailyTrigger を1回実行すれば、毎朝動く
  • 止め方はGAS側・Slack側の2通り
チャットに数字を1つ
1
OK、流れはつかめた
2
なんとなく後日、手順書を見ながらやってみる
3
置いていかれたトリガーのところをもう一度
3が多ければ、トリガー画面を見せて「1回実行しただけ」を強調します。ここが最後のチェックです。
SHIFT AI WEBINAR GAS入門⑤29
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
TROUBLE SHOOTING

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

症状よくある原因直し方
「URLを貼ってください」と出るURLを貼り替えていない/引用符を消した'https://hooks.slack.com/services/…' の形になっているか確認
実行数に 403 / 404 / no_serviceURLが欠けている/Slack側でOff・削除済みIncoming Webhooks の画面でもう一度 Copy して貼り直す。スイッチが On か確認
「こんにちは」は届くのに予定が届かないカレンダーの承認が未完了/別のカレンダーsendTodayScheduleToSlack をもう一度実行し、承認を最後まで進める
ほとんどはこの3つ——手順書にも同じ表を載せています
SHIFT AI WEBINAR GAS入門⑤30
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
NEXT ACTION

この型でできること

01

チャンネルを送り分ける

Add New Webhook でURLを増やすだけ。「営業」「総務」に別々の予定を流せます。<!channel> で全員に通知も。

02

AIに要約させてから送る

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

03

次回はLINEへ

「URLにJSONをPOST」は同じ型。第6回はLINE公式アカウントに送ります。事前準備が重い回なので告知が出たら早めに。

投函口の取り方さえ覚えれば、送り先はいくらでも増やせる
SHIFT AI WEBINAR GAS入門⑤31
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
SURVEY

アンケートのお願い——「事前テストの点数」は必ず

1

冒頭の事前テストは何点でしたか——必ず回答

0〜5点。点数を踏まえて意見を読みます。3点以上の方の改善点は積極的に反映します

2

悪かった点は、その点数を前提に理由を明確に

「速かった」ならどこから。「分かりにくかった」ならどの画面・どの言葉か。改善します

3

前回の声はこう反映しました

画面共有の直し方・Slack実画面の追加・「なぜ」の説明・事前テスト。今回の声も次回に

褒め言葉より点数つきの具体的な不満が、次の回を良くします
SHIFT AI WEBINAR GAS入門⑤32
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
WRAP UP

まとめ/次回・Q&A

Webhookの型は同じ——違うのは「投函口の取り方」だけ
TAKEAWAY 01

Slackは「アプリ」を作ってから投函口(Webhook URL)をもらう。押すのは5か所

TAKEAWAY 02

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

NEXT

次回・第6回はLINE連携。準備が重いので、告知が出たら早めに

次回の日程は、SHIFT AI会員サイトのイベントページでご案内します。
本日はありがとうございました。質問はチャットへどうぞ——答えきれない分は次回の冒頭で拾います。
アンケートでは事前テストの点数を必ず、悪かった点は理由までぜひ。次回までに改善します。
SHIFT AI WEBINAR GAS入門⑤33
1 / 25
← → キーで移動 / Fでフルスクリーン / 印刷(Cmd+P)でPDF化