中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
SHIFT AI WEBINAR — GAS入門⑤
Slackに自動で
通知が届くようにする60分
Incoming Webhookを覚える/中級者向け・今日も「見て学ぶ」回です
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
01
月2回・年内全10回
GAS入門シリーズ。毎回ちがう「自動化の型」を1つずつ覚えていきます。
02
単発参加OK
各回は独立した内容。第1〜4回に出ていなくても、今日だけで完結します。
03
今日は第5回
前回のDiscordに続き、Slackへ送ります。型は同じ、違うのは「投函口の取り方」だけ。
今日は中級者向け・Slackを使う人向け——次のページの事前テストで確かめます
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
今日は——
わたしが実際に作るところを
見ていただく回です
コードと手順書は、いまチャットに貼ったURLにぜんぶあります。一緒にやりたい方はそこから。
追いつけなくて大丈夫。ご自身の実装は後日でかまいません。
このあと事前テスト(5問)で点数を出し、チャットに書いてもらいます
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
PRE-TEST
事前テスト——5問中3つ以上で「中級」(受講資格あり)
1
GASのエディタ(Apps Script)を自分で開いたことがある
3
承認ダイアログ(「詳細」→「移動」→「許可」)を通したことがある
4
トリガー(時計のアイコン)を作ったか消したことがある
5
「Webhook」の意味を、人にひとことで説明できる
3〜5点 = 中級
今日の想定レベルです。どんどんコメントしてください。改善点も積極的に反映します
0〜2点
参加は歓迎です。今日は見るだけで「こんなことができるんだ」を持ち帰ってください。第1〜3回のアーカイブで基礎をやると、次は3点以上になります
「やったことがある」の数があなたの点数——次のページでチャットに書いてください
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
CHAT
いま、チャットに点数を書いてください(1分)
- 例: 4 / 2 / 0
- 3点以上の方: 今日はコメント大歓迎。つまずき・質問・改善点をどんどん
- 2点以下の方: 見るだけでOK。コメントは控えめに(3点以上の方の質問を優先して拾います)
- 最後のアンケートでこの点数を必ず回答してもらいます(点数を踏まえて意見を読むため)
- Slackを使っていない・使う予定がない方には、今日の内容は意味がありません
- 「なぜSlackなのか」が疑問の方は、今回は聞かないほうがいいです(第4回 Discord/第6回 LINE へ)。「何ができるか見たい」だけなら流し見で歓迎
今日は中級者向け・Slackを使う人向け——何度でも念押しします
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
01
なんでもチャットへ
気になったこと、聞き逃したこと、どんなことでも気軽にどうぞ。
02
理解チェックは数字だけ
1=OK/2=なんとなく/3=置いていかれた。文章にしなくて大丈夫です。
03
アーカイブがあります
あとから見返せます。その場で全部わからなくて大丈夫です。
チャットの質問はセクションの切れ目で拾います
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
けいたろう
業務自動化エキスパート/書籍著者。
GoogleのツールとGAS(Google Apps Script)で「手作業をなくす」業務自動化をテーマに、セミナー登壇や書籍の執筆をしています。
本シリーズでは、毎回1時間で自動化の型を1つずつお見せします。
中級者向け事前テスト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より自分の練習用ワークスペースが安全——なぜ: 会社では管理者の承認が要ることがある
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
WHAT IS WEBHOOK
Webhookとは?——Slackは「アプリ」を先に作ります
- Webhook=合言葉つきの投函口(専用URL)
- チャンネルの設定からすぐもらえた
- 投函口のURLを知っていれば誰でも投稿できる → 人に見せない
- 投函口の考え方はまったく同じ
- ただし「アプリ」を1つ作ってから投函口をもらう
- なぜ: Slackは「誰が投稿するか」を先に決める仕組みだから。投稿はそのアプリの名前で届く
違いは投函口のもらい方だけ——送り方は前回と同じ
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
SLACK SETUP 1/3
Webhook URLの取り方(前半)——アプリを作る
1
api.slack.com/apps → 右上の Create New App
2
Blank app を選んで Continue → 名前(英数字)とワークスペース → Create
名前は英数字だけ(日本語は弾かれます)——例: GAS Notify
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
SLACK SETUP 2/3
Webhook URLの取り方(後半A)——機能をONにする
3
左メニュー Features の中の Incoming Webhooks
4
右上のスイッチを Off → On(画面が下に伸びる)
なぜ?——Slackのアプリは機能を1つずつONにする作り。今日使うのは Incoming Webhooks だけ
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
SLACK SETUP 3/3
Webhook URLの取り方(後半B)——投函口をもらう
6
日本語の許可画面 → チャンネルを選んで「許可する」
許可すると元の画面にURLが1行できる → Copy。それが投函口(人に見せない)
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
ここまでの3行
- Webhook=合言葉つきの投函口。Slackはアプリを作ってからもらう
- 押すのは5か所: Create New App → Incoming Webhooks On → Add New Webhook → 許可 → Copy
- URLは人に見せない(手順書ステップ0に同じ画面)
中級者向け事前テスト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回と同じ開き方
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
HOW TO OPEN
エディタの開き方——今日はスプレッドシートから
1
新しいスプレッドシート → メニュー「拡張機能」→「Apps Script」
2
新しいタブでエディタが開く(ここにコードを貼る)
なぜシートから?——送った記録を「ログ」シートに1行ずつ残すため。第3・4回はドライブから単体で作りました
中級者向け事前テスト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の型を覚えた人の強み
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
ここまでの3行
- 作るのは「毎朝、今日の予定がSlackに届く」ツール
- やることは起動する・取ってくる・投げるの3つ(前回と同じ)
- 前回と違うのは送り先URLとcontent→textの2点だけ
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
4
PART 4
ここから実演します
3ステップ・20分(ターミナル → GAS → 毎朝)。見ているだけでOKです/念押し: 中級者向け(3点以上)のペースで進めます
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
TERMINAL
ターミナルとは?——文字でPCに命令する窓
- アプリ名は「ターミナル」
- 開き方: Spotlight(⌘+スペース)に「ターミナル」と打つ/Launchpad →「その他」
- 黒い(または白い)窓が開いて、文字を打つ場所が出ればOK
- アプリ名は「PowerShell」(「コマンドプロンプト」でも可)
- 開き方: スタートボタンで「powershell」と打つ → Enter
- 青い(または黒い)窓が開いて、文字を打つ場所が出ればOK
なぜ挟む?——Webhookは「URLに投げるだけ」。いちばん小さな道具で1回体感すると、GASが何をしているか分かる
中級者向け事前テスト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で同じことをします
中級者向け事前テスト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行増えている
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
AUTHORIZATION
ここで必ず一度止まります
なぜ出る?——自分で書いたコードに自分で許可を出すため。それだけです
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
ここまでの3行
- ターミナルの curl で1回、GASの sendHello で1回——同じURLに同じJSONを投げた
- ▶実行 → 承認ダイアログを「詳細」→「移動」→「許可」で通した
- Slackに届き、「ログ」シートに1行増えた——これが今日の核
中級者向け事前テスト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の型
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
CHECK & STOP
動いているかの確認と、止め方(2通り)
- 左メニューの「トリガー(時計のアイコン)」がコントロールパネルです。
- 確認: sendTodayScheduleToSlack の行が1件あればON / 止める①: 「⋮」→「トリガーを削除」
- 止める②: Slack側で Incoming Webhooks のゴミ箱アイコン(またはスイッチをOff)。時刻は分単位で指定できません(7時〜8時のあいだ)
GAS側でもSlack側でも止められる——戻せると分かれば安心して試せる
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
ここまでの3行
- 予定を取る部分は前回と同じ。送る部品だけ差し替えた
- createDailyTrigger を1回実行すれば、毎朝動く
- 止め方はGAS側・Slack側の2通り
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
TROUBLE SHOOTING
うまく動かないとき トップ3
| 症状 | よくある原因 | 直し方 |
| 「URLを貼ってください」と出る | URLを貼り替えていない/引用符を消した | 'https://hooks.slack.com/services/…' の形になっているか確認 |
| 実行数に 403 / 404 / no_service | URLが欠けている/Slack側でOff・削除済み | Incoming Webhooks の画面でもう一度 Copy して貼り直す。スイッチが On か確認 |
| 「こんにちは」は届くのに予定が届かない | カレンダーの承認が未完了/別のカレンダー | sendTodayScheduleToSlack をもう一度実行し、承認を最後まで進める |
ほとんどはこの3つ——手順書にも同じ表を載せています
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
01
チャンネルを送り分ける
Add New Webhook でURLを増やすだけ。「営業」「総務」に別々の予定を流せます。<!channel> で全員に通知も。
02
AIに要約させてから送る
予定の一覧をGeminiに渡して「今日の一言」を付けてから投稿。ただ通知するだけで終わらない使い方です。
03
次回はLINEへ
「URLにJSONをPOST」は同じ型。第6回はLINE公式アカウントに送ります。事前準備が重い回なので告知が出たら早めに。
投函口の取り方さえ覚えれば、送り先はいくらでも増やせる
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
SURVEY
アンケートのお願い——「事前テストの点数」は必ず
1
冒頭の事前テストは何点でしたか——必ず回答
0〜5点。点数を踏まえて意見を読みます。3点以上の方の改善点は積極的に反映します
2
悪かった点は、その点数を前提に理由を明確に
「速かった」ならどこから。「分かりにくかった」ならどの画面・どの言葉か。改善します
3
前回の声はこう反映しました
画面共有の直し方・Slack実画面の追加・「なぜ」の説明・事前テスト。今回の声も次回に
褒め言葉より点数つきの具体的な不満が、次の回を良くします
中級者向け事前テスト3点以上の方はどんどんコメントを|2点以下の方は見るだけでOK・コメントは控えめに|Slackを使わない方には向かない回です
Webhookの型は同じ——違うのは「投函口の取り方」だけ
TAKEAWAY 01
Slackは「アプリ」を作ってから投函口(Webhook URL)をもらう。押すのは5か所
TAKEAWAY 02
コードと手順書は配布します。実装は後日でOK
NEXT
次回・第6回はLINE連携。準備が重いので、告知が出たら早めに
次回の日程は、SHIFT AI会員サイトのイベントページでご案内します。
本日はありがとうございました。質問はチャットへどうぞ——答えきれない分は次回の冒頭で拾います。
アンケートでは事前テストの点数を必ず、悪かった点は理由までぜひ。次回までに改善します。