MENU
  • IT導入・業務効率化
    • 在庫管理
    • IT導入補助金
  • WEB制作・開発
    • Web制作挑戦Web制作に関連する情報
    • webコーダー挑戦
    • Webデザイナー挑戦デザイナーがWebデザイナーに挑戦し、コーディングやデザインマターでの困りごとや調査内容、他の専門家との情報交換等を投稿します。
    • コーディングメモ
    • エンジニア技術MEMO
    • コーダー技術MEMO
    • セキュリティ
  • IT TOOL一覧
    • ECサイトIT TOOL ECサイト
    • アピス在庫管理
    • クラウドファンディング
    • セルフオーダーシステム
    • レッスン施術サービスレッスン施術サービス予約サイト
    • シンプルクラウドソーシング
    • 会議室予約
    • ShopifyShopifyに関連する設定などさまざまな投稿をしていきます。
  • ビジネス支援ツール
    • Canva
    • WordpressWordpressのサイト構築あれこれ!
    • ZOOM
    • エクセル・ワード
    • バーコード
  • このブランドはどこの国?|
  • テクノロジー・トレンド
    • スマートガジェット
      • イヤホン
      • スマホ・PC・タブレット
  • デザインチーム
  • マーケティング・ブログ運営
    • SEO・ブログ改善
    • アクセス解析
    • ブログ運営
    • ブログ収益化
    • プロンプト
    • マーケティング全般
  • ライフスタイル・健康
    • PC関連ネットで販売するPC関連商品の説明
    • トランプ高関税
  • お知らせ
技術が生活を楽にする
tecn
    • IT導入・業務効率化
      • 在庫管理
      • IT導入補助金
    • WEB制作・開発
      • Web制作挑戦Web制作に関連する情報
      • webコーダー挑戦
      • Webデザイナー挑戦デザイナーがWebデザイナーに挑戦し、コーディングやデザインマターでの困りごとや調査内容、他の専門家との情報交換等を投稿します。
      • コーディングメモ
      • エンジニア技術MEMO
      • コーダー技術MEMO
      • セキュリティ
    • IT TOOL一覧
      • ECサイトIT TOOL ECサイト
      • アピス在庫管理
      • クラウドファンディング
      • セルフオーダーシステム
      • レッスン施術サービスレッスン施術サービス予約サイト
      • シンプルクラウドソーシング
      • 会議室予約
      • ShopifyShopifyに関連する設定などさまざまな投稿をしていきます。
    • ビジネス支援ツール
      • Canva
      • WordpressWordpressのサイト構築あれこれ!
      • ZOOM
      • エクセル・ワード
      • バーコード
    • このブランドはどこの国?|
    • テクノロジー・トレンド
      • スマートガジェット
        • イヤホン
        • スマホ・PC・タブレット
    • デザインチーム
    • マーケティング・ブログ運営
      • SEO・ブログ改善
      • アクセス解析
      • ブログ運営
      • ブログ収益化
      • プロンプト
      • マーケティング全般
    • ライフスタイル・健康
      • PC関連ネットで販売するPC関連商品の説明
      • トランプ高関税
    • お知らせ
tecn
    • IT導入・業務効率化
      • 在庫管理
      • IT導入補助金
    • WEB制作・開発
      • Web制作挑戦Web制作に関連する情報
      • webコーダー挑戦
      • Webデザイナー挑戦デザイナーがWebデザイナーに挑戦し、コーディングやデザインマターでの困りごとや調査内容、他の専門家との情報交換等を投稿します。
      • コーディングメモ
      • エンジニア技術MEMO
      • コーダー技術MEMO
      • セキュリティ
    • IT TOOL一覧
      • ECサイトIT TOOL ECサイト
      • アピス在庫管理
      • クラウドファンディング
      • セルフオーダーシステム
      • レッスン施術サービスレッスン施術サービス予約サイト
      • シンプルクラウドソーシング
      • 会議室予約
      • ShopifyShopifyに関連する設定などさまざまな投稿をしていきます。
    • ビジネス支援ツール
      • Canva
      • WordpressWordpressのサイト構築あれこれ!
      • ZOOM
      • エクセル・ワード
      • バーコード
    • このブランドはどこの国?|
    • テクノロジー・トレンド
      • スマートガジェット
        • イヤホン
        • スマホ・PC・タブレット
    • デザインチーム
    • マーケティング・ブログ運営
      • SEO・ブログ改善
      • アクセス解析
      • ブログ運営
      • ブログ収益化
      • プロンプト
      • マーケティング全般
    • ライフスタイル・健康
      • PC関連ネットで販売するPC関連商品の説明
      • トランプ高関税
    • お知らせ
  1. ホーム
  2. 未分類
  3. STEPminiで毎日自動配信する方法|Apps Scriptのトリガー設定をわかりやすく解説

STEPminiで毎日自動配信する方法|Apps Scriptのトリガー設定をわかりやすく解説

2026 5/25
未分類
2026年5月25日

STEPminiは、GoogleスプレッドシートとGoogle Apps Scriptを使って、ステップメールを管理・配信するためのミニツールです。

ステップメールでは、登録日から1日後、3日後、7日後のように、あらかじめ決めたタイミングでメールを送ります。

そのため、STEPminiを実際に運用するには、毎日1回、配信対象があるかどうかを確認する処理が必要です。

ただし、管理者が毎日手動でボタンを押す運用にしてしまうと、どうしても手間がかかります。

そこでSTEPminiでは、Google Apps Scriptの 時間主導型トリガー を使って、毎日自動で配信処理を実行する運用をおすすめしています。


目次

STEPminiは毎日手動で実行する必要があるの?

結論から言うと、毎日手動で実行する必要はありません。

STEPminiの配信処理は、以下の関数で行います。

runStepMiniBatch()

この関数を毎日1回実行することで、その日に送るべきステップメールがあるかを確認し、条件に合うメールを送信します。

ただし、管理者が毎日Apps Scriptを開いて、手動で runStepMiniBatch() を実行する必要はありません。

Google Apps Scriptには、指定した関数を毎日自動実行できる トリガー という機能があります。

Google公式ドキュメントでも、時間主導型トリガーはUnixのcronに似た仕組みで、特定時刻や繰り返し間隔でスクリプトを実行できると説明されています。


トリガーとは?

トリガーとは、決められた条件でApps Scriptの関数を自動実行する仕組みです。

たとえば、次のような使い方ができます。

毎日9時台に処理を実行する
毎週月曜日に集計する
1時間ごとにデータを確認する
スプレッドシートを開いた時にメニューを表示する
フォーム送信時に処理を実行する

STEPminiでは、このうち 毎日決まった時間帯に処理を実行する 使い方をします。

つまり、STEPminiにおけるトリガーの役割は次の通りです。

毎日決まった時間帯に runStepMiniBatch() を自動実行する

これにより、管理者が毎日手動で配信処理を実行する必要がなくなります。


STEPminiで自動実行する関数

STEPminiで毎日自動実行する関数は、以下です。

runStepMiniBatch()

この関数は、STEPminiの配信対象を確認し、条件に合うメールを送信する中心的な処理です。

現在のSTEPminiコードでは、customers、scenarios、steps、logs、settings の各シートを取得し、必要なシートが不足している場合は処理を止める設計になっています。

また、settings シートの global_active がTRUEでない場合は「配信停止中」として処理を終了するため、シート側で全体配信のON/OFFを制御できます。


runStepMiniBatchは何をしているの?

runStepMiniBatch() は、毎日1回実行されることを前提にした配信バッチです。

主な処理は以下です。

1. 二重実行を防ぐ
2. 必要なシートを確認する
3. settingsシートを読み込む
4. global_activeがTRUEか確認する
5. 有効なシナリオを確認する
6. 有効なステップを確認する
7. 顧客ごとに経過日数を計算する
8. 今日送るべき未送信ステップを探す
9. 1人につき1日1通だけ送信する
10. logsシートに送信結果を記録する

特に重要なのは、同じ宛先に同じステップを重複送信しない仕組みです。

STEPminiでは、logs シートのSUCCESSログをもとに、すでに送信済みのメールを判定します。さらに、その日にすでに送信済みのメールアドレスも記録し、1日1通だけ送るように制御しています。


毎日自動実行する方法

STEPminiを毎日自動実行するには、Google Apps Scriptのトリガーを設定します。

方法は2つあります。

方法1:Apps Scriptの画面から手動でトリガーを設定する
方法2:トリガー作成用の関数を1回実行する

初心者向けには、まず画面から設定する方法を理解しておくと安心です。


方法1:Apps Scriptの画面からトリガーを設定する

以下の手順で設定できます。

1. STEPminiのスプレッドシートを開く
2. 上部メニューから「拡張機能」をクリック
3. 「Apps Script」をクリック
4. Apps Script画面の左側にある「トリガー」をクリック
5. 右下の「トリガーを追加」をクリック
6. 実行する関数で runStepMiniBatch を選択する
7. イベントのソースで「時間主導型」を選択する
8. 時間ベースのトリガーで「日付ベースのタイマー」を選択する
9. 実行する時間帯を選択する
10. 保存する
11. 初回承認が表示された場合は承認する

これで、毎日自動で runStepMiniBatch() が実行されます。


実行時間は何時がよい?

STEPminiでは、毎朝の業務時間前後に配信する運用が使いやすいです。

おすすめは、以下です。

毎日9時台

朝9時台に実行すれば、資料請求後や問い合わせ後のフォローメールとして自然です。

ただし、Apps Scriptの時間主導型トリガーは、指定した時刻ぴったりに実行されるとは限りません。

たとえば9時台を指定した場合、その時間帯の中で実行される形になります。Google公式ドキュメントでも、午前9時のような繰り返しトリガーでは実行時刻が9時〜10時の間で選ばれ、その後は毎日ほぼ同じタイミングで動くと説明されています。

そのため、STEPminiでは「9:00ちょうどに送る」というより、9時台に自動配信する という考え方で運用するのがよいです。


方法2:関数でトリガーを作成する

毎回画面から設定するのが面倒な場合は、トリガー作成用の関数を用意しておくと便利です。

以下のような関数をSTEPminiに追加しておくと、初回に1回実行するだけで、毎日自動配信のトリガーを作成できます。

/**
* STEPmini 毎日自動配信用トリガーを作成する
* 初回セットアップ時に1回だけ実行してください。
*/
function installStepMiniDailyTrigger() {
// 既存の runStepMiniBatch トリガーを削除して重複を防ぐ
deleteStepMiniDailyTriggers();

// 毎日9時台に runStepMiniBatch を実行
ScriptApp.newTrigger("runStepMiniBatch")
.timeBased()
.everyDays(1)
.atHour(9)
.create();

console.log("STEPmini daily trigger installed.");
}

Apps Scriptでは、ScriptApp.newTrigger() に続けて timeBased()、everyDays()、atHour()、create() などを使うことで、時間主導型トリガーを作成できます。公式リファレンスでも、ClockTriggerBuilder に atHour()、everyDays()、everyHours()、everyMinutes() などのメソッドが用意されています。


重複トリガーを防ぐための削除関数

トリガー作成関数を何度も実行すると、同じ関数を実行するトリガーが複数作られてしまう可能性があります。

そのため、トリガーを作成する前に、既存の runStepMiniBatch 用トリガーを削除しておくと安全です。

/**
* STEPminiの自動配信用トリガーを削除する
*/
function deleteStepMiniDailyTriggers() {
const triggers = ScriptApp.getProjectTriggers();

triggers.forEach(trigger => {
if (trigger.getHandlerFunction() === "runStepMiniBatch") {
ScriptApp.deleteTrigger(trigger);
}
});

console.log("STEPmini daily triggers deleted.");
}

この削除関数を用意しておくことで、トリガーの二重登録を防ぎやすくなります。


現在のトリガーを確認する関数

管理者向けには、現在どのトリガーが設定されているかを確認する関数もあると便利です。

/**
* 現在設定されているトリガーを確認する
*/
function listStepMiniTriggers() {
const triggers = ScriptApp.getProjectTriggers();

if (triggers.length === 0) {
console.log("現在、トリガーは設定されていません。");
return;
}

triggers.forEach(trigger => {
console.log({
handlerFunction: trigger.getHandlerFunction(),
eventType: trigger.getEventType(),
triggerSource: trigger.getTriggerSource()
});
});
}

この関数を実行すると、Apps Scriptの実行ログで、現在設定されているトリガーを確認できます。


STEPminiに追加する推奨コードまとめ

STEPminiには、以下の3つの関数を追加しておくのがおすすめです。

/**
* STEPmini 毎日自動配信用トリガーを作成する
* 初回セットアップ時に1回だけ実行してください。
*/
function installStepMiniDailyTrigger() {
deleteStepMiniDailyTriggers();

ScriptApp.newTrigger("runStepMiniBatch")
.timeBased()
.everyDays(1)
.atHour(9)
.create();

console.log("STEPmini daily trigger installed.");
}

/**
* STEPminiの自動配信用トリガーを削除する
*/
function deleteStepMiniDailyTriggers() {
const triggers = ScriptApp.getProjectTriggers();

triggers.forEach(trigger => {
if (trigger.getHandlerFunction() === "runStepMiniBatch") {
ScriptApp.deleteTrigger(trigger);
}
});

console.log("STEPmini daily triggers deleted.");
}

/**
* 現在設定されているトリガーを確認する
*/
function listStepMiniTriggers() {
const triggers = ScriptApp.getProjectTriggers();

if (triggers.length === 0) {
console.log("現在、トリガーは設定されていません。");
return;
}

triggers.forEach(trigger => {
console.log({
handlerFunction: trigger.getHandlerFunction(),
eventType: trigger.getEventType(),
triggerSource: trigger.getTriggerSource()
});
});
}

この3つを用意しておくと、STEPminiの自動配信を管理しやすくなります。


配信を一時停止したい場合

STEPminiでは、毎日自動実行のトリガーを設定していても、配信を一時停止できます。

方法は、settings シートの global_active を FALSE に変更することです。

global_active = TRUE
→ 配信する

global_active = FALSE
→ 配信しない

現在のSTEPminiコードでは、global_active がTRUEでない場合、配信停止中として処理を終了します。

そのため、メンテナンス中やシナリオ調整中は、まず global_active を FALSE にしておくと安心です。


自動実行そのものを止めたい場合

配信を一時停止するだけであれば、global_active を FALSE にするだけで十分です。

一方で、トリガー自体を削除したい場合は、以下の関数を実行します。

deleteStepMiniDailyTriggers()

これにより、runStepMiniBatch() を毎日自動実行するトリガーが削除されます。

運用上は、以下のように使い分けるとよいです。

一時停止したい
→ settings シートの global_active を FALSE にする

完全に自動実行を止めたい
→ deleteStepMiniDailyTriggers() を実行する

初回承認について

トリガーを設定するときや、初めてメール送信処理を実行するときに、Googleの承認画面が表示されることがあります。

これは、STEPminiが次のような処理を行うためです。

スプレッドシートを読み込む
スプレッドシートへ送信ログを書き込む
メールを送信する

STEPminiでは MailApp.sendEmail() を使ってメール送信を行います。送信結果は logs シートへ記録される設計です。

初回承認が完了していないと、自動実行時にエラーになる場合があります。

そのため、初回設定時には、管理者が一度手動で runStepMiniBatch() または installStepMiniDailyTrigger() を実行し、承認を済ませておくのがおすすめです。


トリガー設定後に確認すること

トリガーを設定したら、以下を確認してください。

1. トリガー画面に runStepMiniBatch が登録されているか
2. 実行タイミングが毎日になっているか
3. settings シートの global_active が TRUE になっているか
4. customers シートに配信対象者が登録されているか
5. scenarios シートで対象シナリオが有効になっているか
6. steps シートで対象ステップが有効になっているか
7. logs シートに送信結果が記録されるか

STEPminiでは、顧客の開始日、シナリオID、有効シナリオ、有効ステップ、過去の送信ログを見ながら、その日に送るべきメールを判断します。


よくある質問

Q. 毎日、管理者がrunStepMiniBatchを実行する必要がありますか?

いいえ。
時間主導型トリガーを設定すれば、毎日自動で runStepMiniBatch() が実行されます。


Q. 何時に実行するのがおすすめですか?

おすすめは朝9時台です。
ただし、Apps Scriptのトリガーは指定時刻ぴったりではなく、指定した時間帯の中で実行される場合があります。


Q. 配信を一時停止するにはどうすればよいですか?

settings シートの global_active を FALSE にしてください。
この場合、トリガーは動きますが、配信処理は停止します。


Q. 自動実行を完全に止めるにはどうすればよいですか?

deleteStepMiniDailyTriggers() を実行してください。
これで runStepMiniBatch() 用の時間主導型トリガーを削除できます。


Q. トリガーを何度も作るとどうなりますか?

同じ関数を実行するトリガーが複数登録される可能性があります。
そのため、installStepMiniDailyTrigger() では、先に既存トリガーを削除してから新しいトリガーを作る設計にしています。


Q. 1日に何通も送られてしまうことはありませんか?

現在のSTEPminiでは、同じ宛先に対して、その日にすでに送信済みの場合はスキップする処理があります。また、送るべき未送信ステップが複数あっても、最も古い未送信ステップを1通だけ送る設計です。


まとめ

STEPminiを実運用する場合、毎日手動で runStepMiniBatch() を実行する必要はありません。

Google Apps Scriptの時間主導型トリガーを使えば、毎日自動で配信処理を実行できます。

基本の運用は以下です。

初回設定:
installStepMiniDailyTrigger() を1回実行する

毎日の自動処理:
runStepMiniBatch() が自動実行される

一時停止:
settings シートの global_active を FALSE にする

完全停止:
deleteStepMiniDailyTriggers() を実行する

設定確認:
listStepMiniTriggers() を実行する

STEPminiは、ステップメールを継続的に配信するためのツールです。

そのため、毎日手動で実行するのではなく、最初にトリガーを設定し、あとは自動で配信処理が動く形にしておくことが大切です。

プロフィール DXジュン

👤 筆者プロフィール|DXジュン(Apice Technology 代表)

「tecn」を運営している DXジュン です。
Apice Technology株式会社の代表として、20年以上にわたり Web制作・業務改善DX・クラウドシステム開発に携わっています。

普段は企業の現場課題に寄り添いながら、
在庫管理システム/予約システム/求人管理/受発注システム/クラウドソーシング など、 中小企業の仕事を“ラクにするツール”を作っています。

tecn では、業務改善のリアルや、Webシステムの仕組み、 そして「技術が生活をちょっと楽しくしてくれる」ような 日常×デジタルのヒントをゆるく発信しています。

現在の注力テーマは 在庫管理のDX化。 SKU・JAN・棚卸・リアルタイム連携など、 現場で役立つ情報を発信しつつ、 自社のクラウド在庫管理システムも開発・提供しています。
無料在庫管理システムの提供も行っております。
下記より申し込んでください。

小規模店舗・倉庫向けのシンプルな在庫管理ツールを無料公開中

無料在庫管理システムを申し込む

🔗 Apice Technology(会社HP)
🔗 tecn トップページ
🔗 在庫管理システムの機能紹介
🔗 無料在庫管理システムのご提供

記事があなたの仕事や生活のヒントになれば嬉しいです。 コメント・ご相談があればお気軽にどうぞ!

未分類
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
  • STOCKminiを3分でセットアップする方法|スプレッドシートをコピーしてすぐ使う手順

関連記事

  • STOCKminiを3分でセットアップする方法|スプレッドシートをコピーしてすぐ使う手順
    2026年5月25日
  • Worspress Contact7 記事流入元を識別
    Contact Form 7で流入元を確認する方法|申し込み元ページとfrom識別子をメールに入れる手順| WordPress
    2026年5月24日
  • WebページをPDFにする方法|保存手順と画像が出ない時の対処法
    2026年5月23日
  • アピス在庫管理システム アイキャッチ画像
    アピス在庫管理システム
    2026年5月22日
  • WordPressページをPDF化する方法|画像・幅・ページ区切りの調整まで初心者向けに解説
    2026年5月20日
  • 初心者向け|プログラムの構成管理とは?Gitのはじめ方をやさしく解説
    2026年5月13日
  • 目薬 使用期限は何年?開封後・未開封・市販薬の違いを解説| 在庫管理
    2026年5月12日
  • タミフル 使用期限はいつまで?古い薬を使う前に確認したいこと |在庫管理
    2026年5月12日

コメント

コメントする コメントをキャンセル

アピス在庫管理システム
アピス在庫管理導入講座

カテゴリー

  • AIに対してのプロンプト
  • Bluetoothコーデック基礎
  • Chrome ブラウザー
  • Dropbox
  • ECサイト
  • GAS
  • IT TOOL一覧
  • IT導入・業務効率化
  • IT導入補助金
  • LDAC-Blue
  • mini:GAS仕様 設定手順等
  • PC関連
  • SEO・ブログ改善
  • Shopify
  • STEPmini
  • webコーダー挑戦
  • Webデザイナー挑戦
  • WEB制作・開発
  • Web制作挑戦
  • Windows
  • Wordpress
  • ZOOM
  • アクセス解析
  • アピスmini
  • アピス在庫管理
  • イヤホン
  • エクセル・ワード
  • エンジニア技術MEMO
  • お知らせ
  • コーダー技術MEMO
  • コーディングメモ
  • スマートガジェット
  • セキュリティ
  • セルフオーダーシステム
  • デザインチーム
  • どこの国ブランド
  • トランプ高関税
  • ネットで販売
  • バーコード
  • ハイブリッド車(HV/PHEV)
  • ビジネス支援ツール
  • ブログ
  • ブログ収益化
  • ブログ運営
  • プロンプト
  • マーケティング・ブログ運営
  • レッスン施術サービス
  • 会議室予約
  • 充電器・バッテリー
  • 回線・インターネット
  • 在庫管理
  • 地球にやさしい車
  • 家事代行予約
  • 家電ガジェット
  • 接続&音質トラブル
  • 政治・経済
  • 時事・経済・グローバル
  • 未分類
  • 業務効率化
  • 画像生成AI
  • 発注・請求システム
  • 端末別設定
  • 美容院予約
  • 見積
  • 見積
  • 請求
  • 電気自動車(EV)

最近の投稿

  • STEPminiで毎日自動配信する方法|Apps Scriptのトリガー設定をわかりやすく解説
  • STOCKminiを3分でセットアップする方法|スプレッドシートをコピーしてすぐ使う手順
  • Contact Form 7で流入元を確認する方法|申し込み元ページとfrom識別子をメールに入れる手順| WordPress
  • WebページをPDFにする方法|保存手順と画像が出ない時の対処法
  • アピス在庫管理システム

アーカイブ

  • 2026年5月
  • 2026年4月
  • 2026年3月
  • 2026年2月
  • 2026年1月
  • 2025年12月
  • 2025年11月
  • 2025年10月
  • 2025年9月
  • 2025年8月
  • 2025年7月
  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月

APICE

問い合わせ

アピステクノロジー|tec note

 〒224-0032 神奈川県横浜市都筑区茅ケ崎中央42−21 第2佐藤ビル 203

電話番号: 045-532-4480

お問い合せ

© tecn.

目次