メインコンテンツまでスキップ

シナリオ

概要

シナリオとは、一連のアクションの流れを構成したものです。複数のメッセージを指定した間隔で順次配信していくステップ配信機能を実現できます。
メッセージ配信に限らず、他のアクションを実行したり、特定の条件に基づいてステップを実行するかどうかを設定できます。
特定のステップへ移動するアクションと組み合わせることで、一本道のシナリオだけでなく、分岐したシナリオを作成することも可能です。

シナリオの作成方法

  1. 管理画面の「シナリオ」メニューから「新しく追加」をクリックします。

シナリオの開始方法

「シナリオ開始」アクションを用いて、シナリオを開始できます。

シナリオID

開始するシナリオのIDを指定します。

シナリオがすでに開始されている場合の動作

シナリオがすでに開始されている場合の動作を指定します。

  • 開始しない: シナリオがすでに開始されている場合はなにもしません
  • 完了している場合のみ開始: シナリオが完了している場合にのみ再度最初から実行します。
  • 常に開始: シナリオの状態にかかわらず常にシナリオを再開します。

LINEユーザーID

LINEユーザーID。指定しない場合のデフォルト値はイベントソースのLINEユーザーIDとなります。

チャネル

チャネルシークレットの先頭4文字。指定しない場合のデフォルトはイベントソースのチャネルとなります。

シナリオステップ設定

特定のユーザーが購読中のシナリオを、特定のステップへ移動する際に使用するアクションです。

パラメーター

  • シナリオID: 実行するシナリオID
  • ステップID: 設定するステップID
  • 次回実行日時: 次に実行する日時。絶対日時または相対的な時間設定が行えます。PHPのstrtotime関数で解釈可能な文字列を指定してください。
  • LINEユーザーID: 対象となるユーザーのLINEユーザーID
  • チャネル: 対象となるユーザーのチャネル

シナリオステータス変更

特定のユーザーが購読中のシナリオのステータスを変更するアクションです。

パラメーター

  • シナリオID: 実行するシナリオID
  • ステータス: 変更するステータス
    • アクティブ: シナリオを実行中にします。
    • 一時停止: シナリオを一時停止状態にします。
    • エラー: シナリオをエラー状態にします。
    • 完了: シナリオを完了状態にします。
  • LINEユーザーID: 対象となるユーザーのLINEユーザーID
  • チャネル: 対象となるユーザーのチャネル

シナリオの構成要素

ステップ

シナリオは複数のステップから構成されます。

ステップの設定項目

ID

ステップを区別するためのIDです。
同一シナリオの中で一意である必要があります。

宛先条件

対象ユーザーでこのステップが実行されるかどうかの条件を設定します。以下の項目が条件として設定できます:

  • チャネル
  • 宛先(ユーザーID、グループID、ルームID)
  • 連携状態
  • ロール
  • ユーザーメタ値
  • プロフィール項目値

条件を指定しない場合は常に実行されます。条件を指定した場合は、条件を満たす場合のみこのステップのアクションが実行されます。

アクション

このステップで実行するアクションを設定します。
ステップ配信を行う場合によく使われるアクションには、以下のようなものがあります:

  • LINE Connectメッセージ取得
  • LINE テキストメッセージ取得

「戻り値をLINEメッセージで送信」にチェックを入れておくことで、上記のアクションで取得されたメッセージを対象となっているユーザーへ送信することができます。

アクションチェイン

任意のアクションの戻り値をそれ以降のアクションの引数に注入する仕組みです。
詳しくは、トリガーのアクションチェインを参照してください。

このステップでシナリオを終了する

チェックをいれると、このステップでシナリオの実行を終了します。

次のステップ

次のステップIDを指定します。
指定しない場合は、次に位置するステップに進みます。

スケジュール設定

次のステップをいつ実行するかの設定です。

設定項目

スケジュール設定の種類

次のステップを実行するタイミングは大きく分けて2種類あります:

  • 絶対日時
  • 相対間隔値

絶対日時

特定の日時に次のステップを実行する場合に入力します。 用途としては日時が決まっているイベントの開始予告などに利用できます。

  • 絶対日時: 次のステップを実行する具体的な日時を指定します。

相対間隔値

次のステップを実行するまでの相対的な時間間隔を指定します。

  • 相対間隔値: 間隔の数値を指定します。
  • 間隔の単位: 時間間隔の単位を選択します。
    • 時間
  • 実行タイミング: いつ実行するかのタイミングを指定します。
    • 間隔値経過後ピッタリに実行: 設定した間隔が経過した直後に実行します。

単位別の詳細設定

間隔が分の場合は、ぴったりに実行のみ選択できます(秒数を指定することはできません)。

時間

間隔が時間の場合は、ぴったりに実行するか、時間数を加えた時間の、何分に実行するかを指定できます。

  • 実行する分を指定する: 指定された時間数が経過した後、指定された分に実行されます。
  • : 時刻の「分」を指定してください(例:HH:05の場合は5)。

注意: ここで必ずしも指定した時間(相対間隔値が1なら1時間=60分)が経過した後ではないことにご注意ください。あくまで、時刻の数字に指定した間隔値を加えた時刻の分となります。

  • 例1)2025/02/09 20:45:00にステップを実行し、間隔値が1で、分に50を指定した場合、2025/02/09 21:50:00に実行されます。
  • 例2)2025/02/09 23:45:00にステップを実行し、間隔値が1で、分に10を指定した場合、2025/02/10 00:10:00に実行されます。

間隔が日の場合は、ぴったりに実行するか、日数を加えた日の、何時何分に実行するかを指定できます。

  • 指定日時: 指定された日数を加えた日の、設定された時刻に実行されます。
  • 時刻(HH:mm): 時刻をHH:mm形式で指定してください(例:12:10)。

注意: ここで必ずしも指定した日数(相対間隔値が1なら1日=24時間)が経過した後に実行されるわけではないことにご注意ください。1日であれば、翌日の指定された時刻に実行されます。

  • 例1)2025/02/09 20:45:00にステップを実行し、間隔値に1を指定し、時刻に10:30を指定した場合、2025/02/10 10:30:00に実行されます。
  • 例2)2025/02/09 20:45:00にステップを実行し、間隔値に1を指定し、時刻に22:00を指定した場合、2025/02/10 22:00:00に実行されます。

間隔が週の場合は、ぴったりに実行するか、週数を加えた後、何曜日の何時何分に実行するかを指定できます。

  • 実行する時刻を指定する: 設定された週数が経過した後のピッタリの日付で、指定された時刻に実行されます。
  • 曜日と時刻を指定する: 指定された曜日の指定時刻に実行されます。
    • 曜日: 曜日を指定してください(例:土曜日)。
    • 時刻(HH:mm): 時刻をHH:mm形式で指定してください(例:12:10)。

注意: 指定した週数(相対間隔値が1なら1週間)が経過した後に初めて訪れる曜日に実行されます。相対間隔値が0の場合は、次に訪れる曜日となります。ただし、同じ曜日の場合は当日となります。

  • 相対間隔値が1の場合の例)2025/02/09(日) 20:45:00にステップを実行し、曜日に水曜日、時刻に15:30を指定した場合、2025/02/19(水) 15:30:00に実行されます。(1週間後の16日から数えて初めての次の水曜日)
  • 相対間隔値が1の場合の例)2025/02/09(日) 20:45:00にステップを実行し、曜日に日曜日、時刻に10:00を指定した場合、2025/02/16(日) 10:00:00に実行されます。(1週間後の同じ曜日)
  • 相対間隔値が0の場合の例)2025/02/09(日) 20:45:00にステップを実行し、曜日に日曜日、時刻に10:00を指定した場合、2025/02/09(日) 10:00:00となりますが、この場合、現在時刻よりも前のため、すぐに実行されます。
  • 相対間隔値が0の場合の例)2025/02/09(日) 20:45:00にステップを実行し、曜日に水曜日、時刻に15:30を指定した場合、2025/02/12(水) 15:30:00に実行されます。(次の水曜日)

間隔が月の場合は、ぴったりに実行するか、月数を加えた月の、何日の何時何分に実行するかを指定できます。

  • 実行する時刻を指定する: 設定された月数が経過した後のピッタリの日付で、指定された時刻に実行されます。
  • 日付と時刻を指定する: 指定された月数が経過した月の、指定された日付と時刻に実行されます。
    • 日付: 日付を指定してください(例:15)。
    • 時刻(HH:mm): 時刻をHH:mm形式で指定してください(例:12:10)。

注意: ここで必ずしも指定した月数が経過した後に実行されるわけではないことにご注意ください。1ヶ月であれば、翌月の指定された日付と時刻に実行されます。

重要: 計算の結果、29日、30日、31日などその月に存在しない日付となった場合、PHPの仕様により、次の月に繰り越されます。

  • 例1)2025/01/31 20:45:00にステップを実行し、月に1を指定した場合、02/31は存在しないため、次の月に繰り越され、2025/03/03 20:45:00に実行されます。月末に実行したい場合は「月の最終日」を選択してください。
  • 例2)2025/01/31 20:45:00にステップを実行し、月に1を指定し、日付に31を指定した場合、2025/03/03 20:45:00に実行されます。
  • 日付の設定で「月の最終日」を選択した場合、その月の最終日となります。
  • 例3)2025/01/31 20:45:00にステップを実行し、月に1を指定し、日付に「月の最終日」を選択した場合、2025/02/28 20:45:00に実行されます。

間隔が年の場合は、ぴったりに実行するか、年数を加えた年の、何月何日の何時何分に実行するかを指定できます。

  • 実行する時刻を指定する: 設定された年数が経過した後のピッタリの日付で、指定された時刻に実行されます。
  • 月、日、時刻を指定する: 指定した月と日の指定した時刻に実行されます(例:6月15日の12:10)。
    • : 月を指定してください(1-12)。
    • 日付: 日付を指定してください(例:15)。
    • 時刻(HH:mm): 時刻をHH:mm形式で指定してください(例:12:10)。

注意: ここで必ずしも指定した年数が経過した後に実行されるわけではないことにご注意ください。次の年の指定された月と日に実行されます。

  • 例1)2025/12/31 12:10:00にステップを実行し、間隔値を1、月を1、日付を1を指定した場合、実際には翌日の2026/01/01 12:10:00に実行されます。
  • 存在しない日付が指定された場合、次の月に繰り越されます。
  • 例2)2月31日が指定された場合、3月3日に実行されます。

実行時間のズレについて

アクションを実行するための仕組みとして疑似Cron(アクセスがあった際に処理が行われる)を用いているため、アクセスが少ない場合やほとんど無い場合は、実行時間が遅れることがあります。