スケジュールされた時間にフローを実行するように設定する

フローに Scheduler ノードを追加することで、イベントドリブンフローを一定間隔または特定の日時に実行するように設定できます。

Scheduler ノードは、フローエディタの Toolbox タブから利用でき、最初のノードとして(つまり、イベントドリブンフローのトリガーとなるイベントとして )追加する必要があります。

図1: ツールボックスからスケジューラを選択する
ツールボックスからスケジューラを選択する

Scheduler ノードの使用方法については、以下のセクションを参照してください:

フローのスケジュールを定義する

Scheduler ノードを追加すると、以下のいずれかの方法でフローのスケジュールを定義できます:

選択した日に一定間隔でフローがトリガーされるようにスケジュールする

  1. スケジュールタイプの選択] リストから、[ 繰り返し間隔 ]を選択します。
    図2: 繰り返しの間隔でフローをトリガーするデフォルトのフィールド
    繰り返しの間隔でフローをトリガーするデフォルトのフィールド
  2. Run every ドロップダウンリストから、以下のオプションのいずれかを選択してインターバルの時間単位を定義し、対応する値( x )も設定します:
    • Hour: x 時間に1回フローをトリガーする。 最初のトリガーは、フローが開始されてから x 時間後(該当日)に発生する。
    • 分: x 分に1回フローをトリガーする。 最初のトリガーは、フローが開始されてから x 分後(該当日)に発生する。
  3. on Mon/Tue/Wed/Thu/Fri/Sat/Sun チェックボックスを使用して、フローをトリガーする日を選択します。 デフォルトでは、すべての曜日が選択されている。
  4. タイムゾーンドロップダウンリストから、選択したスケジュールのタイムゾーンを選択します。 デフォルトのタイムゾーンはUTCです。
  5. オプションです。 スイッチを入れた直後にフローを1回実行させるには、「 最初にスイッチを入れたときにもフローを実行する 」チェックボックスを選択します。
    ヒント:
    • スケジュールは、指定されたタイムゾーンでフローが最初にトリガーされる時間に基づいて計算される。 [フローを最初にオンにしたときにも実行する] チェック ボックスをオンにすると、フローはオンになった直後にトリガーされ、その後は x 分または x 時間ごとにトリガーされます。
    • スケジュールに1日以上の空白がある場合、スケジュールは次のスケジュール日の指定されたタイムゾーンの00:00に再開されます。
以下の例は、Scheduleノードの設定方法を示しています。
  • UTCタイムゾーンで毎日12時間ごとにフローを実行する。 最初にスイッチを入れたときにもフローを実行する ]チェックボックスを選択します。 フローは、最初にスイッチを入れたときに作動し、その後は12時間ごとに作動する。
    図3: 毎日繰り返される間隔でフローをトリガーするフィールド
    毎日繰り返される間隔でフローをトリガーするフィールド
  • ヨーロッパ/ロンドンのタイムゾーンで、月曜、水曜、金曜に5時間ごとにフローを実行する。 Also run the flow when it's first switched on チェックボックスは空白のままにしておく。 フローが土曜日または日曜日にオンになると仮定すると、フローは最初、月曜日の05:00にトリガーされ、その後、月曜日の10:00、15:00、20:00、水曜日の00:00、05:00、10:00、15:00、20:00、金曜日の00:00、05:00、10:00、15:00、20:00に実行される。 その後、月曜日00:00、月曜日05:00、月曜日10:00、月曜日15:00、月曜日20:00、水曜日00:00、水曜日05:00、水曜日10:00、水曜日15:00、水曜日20:00、金曜日00:00、金曜日05:00、金曜日10:00、金曜日15:00、金曜日20:00に流れる。 月曜、水曜、金曜に繰り返しフローをトリガーするフィールド
  • GMT時間帯の火曜日と水曜日に10時間ごとにフローを実行する。 Also run the flow when it's first switched on チェックボックスは空白のままにしておく。 フローが木曜日から月曜日の間のいつでもオンになると仮定すると、フローはまず火曜日の10:00にトリガーされ、その後火曜日の20:00、水曜日の06:00、水曜日の16:00に実行される。 その後、火曜日の00:00、火曜日の10:00、火曜日の20:00、水曜日の06:00、水曜日の16:00に流れる。 火曜日と水曜日に繰り返しフローをトリガーするフィールド
  • 東部標準時の火曜日と水曜日に、9時間ごとにフローを実行する。 最初にスイッチを入れたときにもフローを実行する ]チェックボックスを選択します。 フローが火曜日の08:00にオンになると仮定すると、フローは最初、火曜日の08:00にトリガーされ、その後、火曜日の17:00、水曜日の02:00、水曜日の11:00、水曜日の20:00に実行される。 その後、火曜日の00:00、火曜日の09:00、火曜日の18:00、水曜日の03:00、水曜日の12:00、水曜日の21:00に流れる。 火曜日と水曜日に繰り返しフローをトリガーするフィールド

特定の曜日または時間にフローがトリガーされるようにスケジュールを設定する

  1. スケジュールタイプの選択リストからカレンダーを選択します。
  2. Run every ドロップダウンリストから、以下の時間単位のいずれかを選択し、スケジュールに対応する値を設定します:
    • 時間: 毎正時 x 分にフローをトリガーするには、このオプションを使用します。 例えば、毎時30分にフローをトリガーする:
      図4: カレンダーオプション:時間
      カレンダーオプション:時間
    • 日: このオプションを使用して、毎日 xy 分にフローをトリガーする。 例えば、毎日14:00にフローをトリガーする:
      図 5. カレンダーオプション:日
      カレンダーオプション:日
    • 週: このオプションを使用すると、毎週 x 曜日、 y 時間 z 分にフローをトリガーします。 例えば、毎週月曜日の09:15にフローをトリガーする:
      図 6. カレンダーオプション:週
      カレンダーオプション:週
    • 月: 毎月 x 日、 yz 分にフローをトリガーするには、このオプションを使用します。 例えば、毎月28日の20時45分にフローをトリガーする:
      図 7. カレンダーオプション:月
      カレンダーオプション:月
    • 年: このオプションを使用して、毎年 m 月の x 日、 yz 分にフローをトリガーする。 例えば、毎年4月5日の18:00にフローを起動させる:
      図 8. カレンダーオプション:年
      カレンダーオプション:年
  3. タイムゾーンドロップダウンリストから、選択したスケジュールのタイムゾーンを選択します。 デフォルトのタイムゾーンはUTCです。
  4. オプションです。 スイッチを入れた直後(その後スケジュール通りに実行する前)にフローを1回だけ実行させるには、「 最初にスイッチを入れたときにもフローを実行する 」チェックボックスを選択します。

スケジュールを設定した後、必要なアクションやツールボックスのユーティリティを追加することで、通常の方法でフローを完成させることができます。 また、次のセクションで説明するように、スケジュールされた各時間帯の開始時に発行されるタイムスタンプを使って、その時間帯に作成、生成、処理された情報を取り出すこともできる。

スケジュールのタイムスタンプを使う

Schedulerは次のような出力を出すので、フロー内の後続ノードにマッピングできる:

  • 現在のイベント時刻: 現在のスケジュールがトリガーされた時間
  • 前回のイベント時刻: 前回のスケジュールがトリガーされた時間
    図 9. マッピングのためのスケジューラ出力フィールド
    マッピングのためのスケジューラ出力フィールド
ヒント:
  • これらのタイムスタンプはISOフォーマットで表示され、 カレンダー スケジュールタイプに定義されたデフォルトの UTC タイムゾーンになります。
  • 前イベント時間値は、デフォルトでは、フローが最初にトリガーされた 1970年1月1 日に設定される。

次の例は、 Salesforce と Slack のアクションをスケジュールで実行するように設定したサンプルフローです。

図 10. スケジューラシナリオのフローイメージ
スケジューラシナリオのフローイメージ

シナリオ

フローが開始された直後から、毎週木曜日のみ1時間間隔で繰り返しフローをトリガーするようにスケジューラーを設定したとしよう。

図 11. 繰り返し1時間間隔でフローをトリガーするスケジューラ設定
繰り返し1時間間隔でフローをトリガーするスケジューラ設定

1時間ごとに、最後にフローがトリガーされた後に Salesforce で作成された新規アカウントの詳細を取得したい。

図 12. Salesforce アカウント取得アクションの設定
Salesforce アカウント取得アクションの設定

そして、Slackのチャンネルにメッセージを送り、各時間帯に作成されたアカウント数(関連するアカウント名付き)を関係者に通知したい。

図 13. メッセージ送信アクションのSlack設定
メッセージ作成アクションのSlack設定

Schedulerノードで Also run the flow when it's first switched on チェックボックスを選択したため、フローが開始するとすぐにSlackにメッセージが表示されます。 このメッセージは、1970年1月1日からフロー開始時までの間に作成されたすべてのアカウントのカウントを提供する必要があります。 この開始時間から1時間ごとに、その時間帯に作成された新しいアカウントの詳細を示すメッセージが表示されるはずです。

図 14. Slackでのフローの結果
Slackでのフローの結果

ヒント: Schedulerノードの Also run the flow when it's first switched on チェックボックスが選択されていない場合、最初のSlackメッセージはフロー開始の1時間後に生成され、1970年1月1日から最初のスケジュール終了までに作成されたすべてのアカウントの詳細が含まれます。