シナリオメール

問い合わせ後のフォローなど、決まった順序とタイミングで複数のメールを送る作業を、手で送らずに自動化したいときに使います。相手の反応によって次のメールを変えることもできます。

レコードの追加・編集・ステータス変更などをきっかけに、複数のメールを決まった順序・タイミングで自動送信する仕組みです。 受信者の反応(開封・クリック・フィールド値)で配信経路を分岐させることもできます。

「アプリ設定 → シナリオメール」から作成・管理します。シナリオで送信するメール本文は事前に「メールテンプレート」で作成しておく必要があります。

シナリオメールの画面。名前・状態・トリガー・ステップ・受信者・作成者・配信の送信者の表に下書きのシナリオが 1 件ある
シナリオの一覧。

ユースケース

  • オンボーディング: レコード追加直後に歓迎メール、3 日後に機能紹介、7 日後に個別サポート案内
  • 商談フォロー: 見積ステータスに変わってから 2 日後にリマインド、5 日後に失注確認
  • 開封分岐: 初回メールを開かなかった受信者だけに件名違いで再送
  • イベント案内: イベント日の 3 日前に確認メール、1 日前の 17:00 にリマインド、翌日の 9:00 にアンケート

新しいシナリオの作成

  1. 「+ 新しいシナリオ」で名前・説明・トリガーを指定
  2. 編集画面の「ステップ」タブでステップを 1 つずつ追加
  3. 各ステップの種別・実行タイミング・テンプレート等を設定
  4. 「保存」で下書きを保存。自動送信はまだ走らない
  5. 動作確認が終わったら「有効化」を押して稼働開始 (有効化は保存しないので、先に「保存」する)

トリガーの種類

シナリオを開始する「きっかけ」です。シナリオごとに 1 つ選びます。

トリガー
レコード追加時
説明
レコードが新規作成されたタイミングで、条件に一致するレコードをシナリオに登録します
トリガー
レコード編集時
説明
レコードが編集されるたびにトリガー判定。編集条件のフィルタで対象を絞り込めます
トリガー
ステータス変更時
説明
ワークフローのステータスが指定した遷移をしたときに開始。遷移元・遷移先を指定可能(どちらも省略可)
トリガー
手動
説明
REST API (POST /api/apps/{appId}/email-sequences/{sequenceId}/enrollments) で明示的に登録します。キャンペーン配信などに使用。画面から登録する操作はありません
トリガー
Webhook
説明
有効化時に発行される URL に外部システムから POST することで登録します。CRM や外部の自動化サービスとの連携に

トリガー条件: フィールド値のフィルタ(AND/OR 切替可)は、REST API でシナリオを作成・更新するときに指定できます (設定画面には入力欄がありません。画面で保存しても、API で付けた条件は残ります)。 条件は自動の登録 (レコード追加時・編集時・ステータス変更時) と Webhook に効き、満たすレコードだけが登録されます。手動トリガーの登録では評価しないので、API に渡すレコードを先に絞ってください。 画面だけで送る相手を絞るときは、最初のステップを条件分岐「フィールド値が一致するか」にします (条件に合わないレコードも受信者としては登録され、メールを送らずに終わります)。

再登録の可否: 既に同じシナリオに登録されているレコードは、原則として 2 回目の登録を受け付けません。 完了・停止後に再登録したい場合は「同じレコードの再登録を許可する」を ON にしてください。

ステップ

シナリオの本体です。上から順に実行されます(分岐ステップのみジャンプ可)。1 シナリオに最大 50 ステップ。

ステップの種別

種別
メール送信
挙動
指定したテンプレートを現在のレコードに対して送信します。送信結果は通常の送信ログに記録されます
種別
条件分岐
挙動
条件を評価し、一致時と不一致時で次のステップを分けます。メールは送信しません

実行タイミング

各ステップが「いつ」動くかを指定します。

タイミング
前ステップから指定時間後
説明
前のステップが完了してから N 分 / 時 / 日後に実行
タイミング
日付の項目より後
説明
レコードの日付・日時の項目を基準に、その後に実行。イベントの翌日のお礼など。基準の値が空なら、ステップに入った時点から数えます
タイミング
日付の項目より前
説明
レコードの日付・日時の項目を基準に、その前に実行。イベントの前日のリマインドなど。送る時刻をステップに入った時点で既に過ぎていれば (前日を過ぎてから申し込んだ人など)、そのメールは送らずに次のステップへ進みます (配信ログに「スキップ」で残ります)。基準の値が空のときも送らずに進みます
タイミング
レコード編集を待つ
説明
レコードが編集されるまで待機。編集が発生するとこのステップが動きます
タイミング
ステータス変更を待つ
説明
指定したステータス遷移を待機。遷移元・遷移先を指定可能(どちらも省略可)
タイミング
前メールの開封を待つ
説明
直前の送信ステップで送ったメールが開封されるまで待機。タイムアウト時間も設定でき、期限内に開封されなければ不一致として扱われます
タイミング
前メールのクリックを待つ
説明
同上。メール本文のリンククリックが基準(配信停止のリンクのクリックは含めません)

日付の項目を基準にするステップは、「基準の日付の項目」でアプリの日付・日時の項目を選びます (年だけ・年月だけを入れる日付の項目は選べません)。 前か後かは実行タイミングで選び、ステップの下に決まった送る時刻が文で出ます (例: 「セミナー日の 1 日前の 9:00 に送ります」)。

基準の項目
日付
指定するもの
日数と送る時刻 (既定 9:00、「基本設定」のタイムゾーン)。日数は暦の上で数えるので、夏時間の切り替えをまたいでも時刻はずれません (切り替えの日に存在しない時刻は時計が進む幅だけ後ろへずらし、2 回ある時刻は早いほうにします)。0 日なら当日
例
イベント日の 1 日前の 13:00 / 当日の 8:00 / 1 日後の 9:00
基準の項目
日時
指定するもの
入力された日時から、N 分 / 時間 / 日。「1 日」は 24 時間です
例
開始日時の 2 時間前 / 30 分後

送る時刻は、そのステップに入った時点で決まります。待っている間にレコードの日付が変わると、送る直前に読み直して、 後ろへ延びていれば新しい時刻まで待ち直します。「前」のメールは、前倒しで新しい時刻を過ぎていれば送らずに次へ進みます (遅れた「前日のご案内」を送らない。配信ログに「スキップ」で残ります)。レコードの詳細の画面・1 件ずつ更新する API で日付を保存したときは、その場で新しい時刻に予定を決め直します (一括の変更・CSV の取り込みでは、送る直前の読み直しだけが効きます)。 保存・有効化のときに、基準の項目がアプリにあるか (日付・日時の項目か)、日付の項目なら日数で指定しているかを確かめます。項目を消した後は有効化できません。

分岐ステップ

分岐条件を評価し、結果に応じて次のステップを切り替えます。

分岐条件
前メールを開封したか
判定内容
直前の送信ステップの開封日時が記録されていれば「一致」
分岐条件
前メールをクリックしたか
判定内容
同上、クリック日時が記録されていれば「一致」(配信停止のリンクのクリックは記録しません)
分岐条件
フィールド値が一致するか
判定内容
レコードのフィールド値と指定値を演算子(=, ≠, 含む, > など)で比較
分岐条件
指定ステータスか
判定内容
ワークフローの現在ステータスが指定 ID と一致するか
分岐条件
指定作業者か
判定内容
ワークフローの現在の作業者が指定 ID と一致するか

「条件一致時の次ステップ」「条件不一致時の次ステップ」で次に進むステップ番号を指定します。 空欄なら「一致時: 次のステップにフォールスルー」「不一致時: シナリオ終了」が既定です。

Webhook トリガー

シナリオを 有効化 すると、そのシナリオ専用の Webhook URL が自動発行されます。 設定画面の「設定」タブに URL と呼び出しサンプルが表示されます。

呼び出し例:

POST リクエスト

POST /api/public/email-sequences/webhook/{secret}
Content-Type: application/json

{ "recordId": "<登録対象レコードの ID>" }
  • URL はトークン(32 バイトのランダム文字列)そのものが認証情報です。第三者に漏らさないよう管理してください
  • 漏洩した場合は設定画面の「URL を再発行」から rotate できます(旧 URL は即無効化)
  • recordId は当該シナリオが属するアプリのレコードのみ受け付けます。異なるアプリのレコード ID を渡すと 404 を返します
  • trigger conditions(フィールドフィルタ)も通常トリガーと同じく適用されます

送信時間帯の制限

シナリオの「設定」タブにある 送信時間帯 セクションで、 メール送信ステップの実行可能な時間帯を指定できます。時間帯外のステップは次の開始時刻まで自動で繰り延べられます。

  • トグルスイッチで有効化: セクション左上のスイッチを ON にするとフィールドが表示されます。 ON にした時点で「平日 9:00–18:00 Asia/Tokyo」の妥当な初期値が自動で入ります
  • プリセット: 「営業時間」「朝時間」「週末のみ」「24時間」などのプリセットから選ぶと、 時刻と曜日が一括で設定されます
  • 開始 / 終了時刻: 2 桁ずつの入力フィールド(HH と分 mm)に数字を打ち込むと次のフィールドに自動で移動します。 終了が開始より早い場合は「翌日への跨ぎ設定」として扱われます(例: 22:00–06:00)
  • タイムゾーン: 主要地域のラベル(「日本(東京)」「アメリカ東海岸」など)から選びます。 各選択肢にはそのタイムゾーンでの現在時刻と UTC オフセット(例 UTC+9)が表示されるので直感的に選べます。 お使いのデバイスのタイムゾーンは 📍 マークで一番上に表示されます
  • 曜日: 7 つのピルボタン(月〜日)をタップして選択・解除できます。 下の「すべて / 平日 / 週末 / クリア」ショートカットで一括切り替えも可能
  • 待機・分岐ステップ自体は制限を受けません。あくまで メール送信の瞬間 にのみ適用されます

手動実行の権限

手動トリガーのシナリオでは、「設定」タブで 手動実行の権限 を制限できます。

  • 誰でも可: アプリへの編集権限があれば誰でも REST API で登録できる(既定)
  • 指定したユーザーのみ: 許可リストに含まれるユーザー・グループ・組織・「全員」のいずれかに一致する場合のみ登録可能
  • アプリの管理権限(canManageApp)保持者は許可リストに関わらず常に操作可能です
  • 登録できるのは、登録する人が閲覧できるレコードだけです

送信者と閲覧の制限

シナリオのメールは、差し込む値を送信者が閲覧できるかを確かめてから送ります。 手動トリガーで登録した受信者は登録した人、トリガーで自動登録された受信者はシナリオの送信者(シナリオを最後に保存・有効化した人)が送信者です。 加えて、各ステップのテンプレートの送信者(テンプレートを最後に保存した人)の閲覧権でも判定します。

  • 送信者が閲覧できない項目がテンプレート(件名・本文・署名・宛先・添付・送信条件)に含まれている、または送信者が無効化されていると、そのステップのメールは送らず、配信ログに理由が残ります。登録は次のステップへ進みます
  • 分岐ステップの条件や待機の基準に使う項目を送信者が閲覧できないときは、進む先や時刻が決まらないため、登録はエラーで終わります
  • トリガー条件に使う項目を送信者が閲覧できないレコードは登録されません
  • 送信者が無効化されている場合、下書きなら保存し直すと、有効なシナリオなら一度アーカイブしてから再有効化すると、操作した人が送信者になります。止まったステップは、あとで送信者を直しても送り直されません

有効化と編集ルール

シナリオは 下書き → 有効 → アーカイブ の 3 つの状態を遷移します。 受信中の配信結果が途中で変わらないよう、有効化後のシナリオとステップは編集できません。

状態
下書き
できること
ステップ・設定を自由に編集。まだ自動登録も自動送信も発生しない
状態
有効
できること
トリガーに合致したレコードが自動で登録され、ステップが順に実行される。編集不可
状態
アーカイブ
できること
新規の登録は停止。進行中の受信者も一時停止し、再有効化すると続きから再開する。削除可能

有効化済みのシナリオを修正したい場合は、「複製」ボタンから新しい下書きを作成してから編集し、 新版を有効化した後に旧版をアーカイブする運用を推奨します。旧版に入っていた受信者は新版へは移らず、旧版のアーカイブで止まります。 入れ替えは、受信者が入る前 (受付の開始前など) に行うのが安全です。

アーカイブ済みシナリオは「再有効化」で戻せます。再有効化時はテンプレートが公開状態か・参照が切れていないかを自動検証します。

システム管理者がメールサーバーを設定し、「テスト送信」で接続確認を済ませていないと、有効化・再有効化はできません (シナリオの画面に「メールサーバーの接続確認が済んでいないため、メールは送られません。」と出ます)。

受信者(エンロールメント)の状況確認

編集画面の「受信者」タブで、現在進行中・完了・停止した登録をレコード単位で確認できます。

状態
進行中
意味
シナリオを実行中。現在のステップ番号と次回実行時刻が表示される
状態
完了
意味
最後のステップまで到達し、正常終了
状態
停止
意味
手動停止・配信停止・レコード削除などにより途中で停止
状態
エラー
意味
試行回数上限に達したまま進行できなくなった状態。エラー内容が記録される

進行中の登録は、行の削除アイコンから個別に停止できます。停止された登録は再送されず、再登録も条件に従います。

受信者タブに表示する最後のメールの件名とレコードは、配信ログと同じく見る人の閲覧権で判定し、閲覧できない値は「(非表示)」と表示されます。

配信停止との関係

  • 受信者が配信停止リンクからマーケティングメールを停止すると、そのレコードの進行中シナリオは自動的にすべて停止されます
  • 停止済み受信者に向けて送信ステップが走った場合は、通常の送信時と同様に配信停止リストでブロックされ、送信ログにその旨が記録されます
  • 業務通知(配信停止を許可しないテンプレート)は停止リストの影響を受けません

バウンス・サーキットブレーカーによる自動キャンセル

  • ハードバウンス / 苦情(spam report) が発生したレコードのシナリオは、以降のステップがすべて自動的に cancel されます。 届かないことが確定したアドレスに繰り返し送信してレピュテーションを落とすのを防ぐためです
  • ソフトバウンス(容量超過や一時的な障害)では cancel しません。一時的な問題の可能性があるためシナリオは継続します
  • 配信サーキットブレーカーが停止中 の間は、マーケティングカテゴリのステップが cancel されます。 取引カテゴリのステップ(注文確認など)はブレーカーに関係なく実行されます
  • cancel された登録は受信者タブで「停止」状態として表示され、lastError に email_bounced:hard / email_bounced:complaint / circuit_breaker:... のように理由が記録されます。停止理由のトレースに使えます

レコード削除時の挙動

対象レコードが削除された場合、そのレコードに紐づく進行中のシナリオ登録はすべて自動停止されます(履歴は残ります)。

複製・アーカイブ・削除

操作
複製
効果
同じ設定の下書きシナリオを新規作成。名前の末尾に「(複製)」が付く
操作
アーカイブ
効果
新規の登録を止める。進行中の受信者も一時停止する (再有効化で再開)
操作
再有効化
効果
アーカイブを有効に戻す。テンプレートが下書きに戻っている場合は失敗する
操作
削除
効果
下書きまたはアーカイブのシナリオのみ削除可能。有効シナリオは先にアーカイブが必要

ヒント

  • シナリオのメールは 5 分ごとの確認で送られます。「前ステップから 0 分」のメールも、届くまで最大 5 分ほどかかります
  • 有効化の前に、まず「手動」トリガーで作り、テスト用レコードを 1 件だけ登録して挙動を確認すると安全です
  • 開封・クリック待機にはタイムアウト(分で指定。既定 10080 分 = 7 日)を必ず設定しておくと、無反応の受信者がいつまでも滞留しません
  • 分岐条件「指定ステータスか」と「ステータス変更を待つ」実行タイミングを組み合わせると、ワークフロー状態を起点にした柔軟なフォローが実現できます
  • 受信者タブで エラー 状態の登録が多い場合は、対象テンプレートの公開状態・宛先フィールド・配信カテゴリを確認してください