SHIFT AI WEBINAR — GAS入門③

毎朝「今日の予定」が
自動で届くようにする60分

時間主導トリガーを覚える/今日は「見て学ぶ」回です
けいたろう
けいたろう
業務自動化エキスパート
SHIFT AI WEBINAR GAS入門③2026.9.8(火)20:00-21:00
SERIES

本シリーズについて

01

月2回・年内全10回

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

02

単発参加OK

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

03

今日は第3回

テーマは「時間主導トリガー」。決まった時刻に、勝手に動く仕組みです。

前回までを見ていなくてまったく問題ありません
SHIFT AI WEBINAR GAS入門③02
FORMAT

今日の進め方

今日は——
わたしが実際に作るところを
見ていただく回です
一緒に手を動かしていただくのは自由です。ただし追いつけなくて大丈夫。
コードも手順書もあとで配りますので、ご自身の実装は後日でかまいません。
今日のゴールは「流れをつかむ」こと——作り切らなくてOK
SHIFT AI WEBINAR GAS入門③03
WELCOME

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

01

なんでもチャットへ

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

02

スタンプも歓迎

文章にしなくてOK。絵文字・スタンプのリアクションだけでも十分です。

03

アーカイブがあります

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

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

自己紹介

けいたろう
けいたろう

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

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

今日の前提

ここだけ先に潰しておきます(2分)
REQUIREMENTS

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

必要なもの
  • Googleアカウント(Gmailが使えていればOK)
  • ブラウザ(Chrome推奨・なんでも可)
  • カレンダーに予定がいくつか入っていると動作確認しやすい
要らないもの
  • インストール作業
  • クレジットカード・課金
  • プログラミングの経験
  • 第1回・第2回の参加
Googleアカウントだけ——それ以外は今日は使いません
SHIFT AI WEBINAR GAS入門③07
DON'T WORRY

途中で分からなくなったら

  • 今日いちばん大事なお願いです。
  • 分からないところは「そういうものか」で流してOKです
  • コードは全文にコメント付きで配ります。写経の必要はありません
  • 手順書にはスクリーンショット付きで全手順が書いてあります
  • つまずいた場所だけチャットに書いてください。あとで拾います
止まっても大丈夫。資料はぜんぶ配ります
SHIFT AI WEBINAR GAS入門③08
2
PART 2

GAS超入門

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

GASとは?

GAS(Google Apps Script)=
Googleのサービスどうしを
つないで自動で動かす仕組み
カレンダー・Gmail・スプレッドシート・フォーム——ふだん使っているものを、そのまま自動化できます。
サーバーもインストールも不要。ブラウザだけで書いて動かせます。
Googleの中で完結するから、今日から使える
SHIFT AI WEBINAR GAS入門③10
3 FEATURES

GASの3つの特徴

01

Googleと直結

カレンダーやGmailを、認証まわりの面倒なしにそのまま操作できます。

02

トリガーで自動実行

「時刻が来たら」「フォームが届いたら」——自分がPCを開いていなくても動きます。今日はここ。

03

無料ではじめられる

Googleアカウントさえあれば追加費用なし。JavaScriptベースの文法です。

今日の主役は②トリガー——勝手に動く仕組み
SHIFT AI WEBINAR GAS入門③11
DIFFERENT TODAY

今日はスプレッドシートを使いません

前回まで(第1回・第2回)
  • スプレッドシート →
    拡張機能 → Apps Script
  • スクリプトはシートの一部として住んでいた
  • 動くきっかけは人の操作(送信した・開いた)
今日(第3回)
  • ドライブ →
    +新規 → その他 → Apps Script
  • スクリプトが単体で存在する
  • 動くきっかけは時刻。誰も何も開かない
誰も開かなくても動く——だから開く対象がそもそも要らない
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

今日のゴール

まず完成形をお見せします(実演)
TODAY'S GOAL

今日作るもの

毎朝7時——
今日の予定がまとめて
メールで届く
カレンダーを開かなくても、朝いちばんにメールを見れば今日の動きが分かる。
実際に届いたメールを、いまお見せします。
PCを開いていなくても勝手に動く——それがトリガー
SHIFT AI WEBINAR GAS入門③15
HOW IT WORKS

仕組みの全体像

やっていることは、たった3つです
TRIGGER

毎朝7時に起動

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

▶
CALENDAR

今日の予定を取る

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

▶
GMAIL

自分に送る

読みやすい文章に組み立てて、自分あてにメールします。

起動する・取ってくる・送る——この3つだけ
SHIFT AI WEBINAR GAS入門③16
SERIES MAP

シリーズで覚える「3つの起動の型」

毎回ちがう「動き出すきっかけ」を覚えていきます
回起動のきっかけどんなときに動くか
第1回onFormSubmitフォームに回答が届いたとき
第2回onOpenスプレッドシートを開いたとき
第3回(今日)時間主導トリガー決まった時刻が来たとき——人が何もしなくても動く
今日の型は「人が関与しない」のがポイント
SHIFT AI WEBINAR GAS入門③17
4
PART 4

ここから実演します

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

ステップ1:まず手で動かす

sendTodaySchedule — 取る → 組み立てる → 送るcode.gs
function sendTodaySchedule() {
  const today = new Date();
  const cal = CalendarApp.getDefaultCalendar();
  // ① 今日の予定を取る
  const events = cal.getEventsForDay(today);
  // ② 本文を組み立てる
  const body = buildMailBody(today, events);
  // ③ 自分あてに送る
  GmailApp.sendEmail(to, subject, body);
}
  • CalendarApp = カレンダーを操作する部品
  • getEventsForDay(日付) でその日の予定をまとめて取得
  • GmailApp.sendEmail() で送信
  • まずトリガーなしで、手で実行して確かめます
いきなり自動化しない——まず手で1回動かして確認
SHIFT AI WEBINAR GAS入門③19
AUTHORIZATION

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

1

「権限を確認」

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

左下の「詳細」

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

中身を見て許可

アクセスできる情報の確認
自分で書いたコードに自分で許可を出す——それだけです
SHIFT AI WEBINAR GAS入門③20
STEP 2

ステップ2:毎朝、自動で動かす

createDailyTrigger — 1回実行すればOKcode.gs
function createDailyTrigger() {
  deleteDailyTrigger();  // 二重登録を防ぐ

  ScriptApp.newTrigger('sendTodaySchedule')
    .timeBased()
    .atHour(7)      // 7時台に実行
    .everyDays(1)   // 毎日
    .create();
}
  • newTrigger('関数名') で、どの関数を動かすか指定
  • .atHour(7).everyDays(1) で「毎日7時台」
  • この関数は1回だけ実行すればOK
  • 先に古いトリガーを消すので、何度押しても増えません
たった1回の実行で、明日から毎朝動きます
SHIFT AI WEBINAR GAS入門③21
CHECK & STOP

動いているかの確認と、止め方

  • 左メニューの「トリガー(時計のアイコン)」がコントロールパネルです。
  • 確認: sendTodaySchedule の行が1件あればON / 止める: 「⋮」→「トリガーを削除」
  • 時刻は分単位で指定できません。7時なら「7時〜8時のあいだ」に届きます(GASの仕様)
トリガー画面に時間主導トリガーが1件
「7時ちょうど」にはならない——そういうものだと思ってください
SHIFT AI WEBINAR GAS入門③22
TROUBLE SHOOTING

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

症状よくある原因直し方
メールが届かない承認が最後まで終わっていないもう一度実行し、「詳細」→「移動」→「許可」まで進める
「予定なし」になる予定が別のカレンダーにあるこのツールはデフォルトのカレンダーだけを見ます
日付・時刻がずれるプロジェクトのタイムゾーン「プロジェクトの設定」→ 日本標準時(GMT+09:00)に変更
ほとんどはこの3つ——手順書にも同じ表を載せています
SHIFT AI WEBINAR GAS入門③23
NEXT ACTION

この型でできること

01

予定がない日は送らない

1行足すだけ。通知が多すぎるとかえって読まなくなります。

02

前夜に翌日分を送る

日付を1日ずらすだけ。「明日の準備」に使えます。

03

メール以外に飛ばす

次回以降のWebhookを覚えると、Discord・Slack・LINEにも送れます。

時刻で動かす型は、これから何度も使います
SHIFT AI WEBINAR GAS入門③24
WRAP UP

まとめ/次回・Q&A

今日の持ち帰りは「時間主導トリガー」という型
TAKEAWAY 01

決まった時刻に、人が何もしなくても動かせる

TAKEAWAY 02

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

NEXT

次回・第4回はDiscord連携(Webhook)。はじめて事前準備が要る回です

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