メッセージ待ちアクション

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:4分
  • フロー API から特定のメッセージを受信するまでフローを一時停止します。フローの実行を再開する文字列メッセージを指定します。またオプションで、特定の時間が経過してもメッセージが受信されない場合にフローを再開するためのタイムアウト値を指定します。

    ロールと可用性

    ワークフロースタジオ ServiceNow コアアクションとして利用可能です。flow_designer または admin ロールを持つユーザーは、アクションをフローに追加し、構成の詳細を定義できます。

    入力

    アクションに必要な各入力の値を指定します。動的な値を追加するには、[データ] パネルからピルをドラッグするか、ピルピッカーから選択します。

    メッセージ
    データタイプ:String

    フローが sendMessage() API からの受信を待機しているテキスト文字列。アクションでは、このメッセージを使用してフローの実行を再開します。sendMessage() API の詳細については、「 FlowAPI - sendMessage(String contextSysID, String message, String payload)」を参照してください。

    タイムアウト有効化
    データタイプ:True/False
    フローが続行する前にアクションの完了を待機する時間を制限するオプション。
    注:
    [ タイムアウトを有効にする ] オプションを使用すると、フローが無限に待機するのを防ぐことができます。メッセージが受信されない場合、タイムアウト値は、システムが [メッセージを待機] アクションをスキップしてフロー内の次のアイテムに進むことができるタイミングを指定します。タイムアウトを有効にするには、 [期間] の値を設定する必要があります。
    期間
    データタイプ:Duration

    [タイムアウト有効化] オプションが選択されている場合にフローが続行する前に待機する時間。待機時間を時、分、秒単位で入力します。このフィールドを空のままにすると、フローは待機しません。

    出力

    これらの出力は [データ] パネルに表示されます。フローの他の場所で入力として使用できます。

    ペイロード
    データタイプ:String

    sendMessage() API によって返されるテキスト文字列。親フローは、ペイロード値を他のアクションまたはフローロジックの入力として使用できます。

    状況
    データタイプ:Choice
    アクションの完了ステータス (数値)
    • 0 (成功)
    • 1 (エラー)

    一般的なガイドライン

    メッセージを待機するフローを作成する場合は、次の一般的なガイドラインを使用します。
    このアクションを使用してワークフローイベント待機アクティビティを変換
    [WF イベント待ち] アクティビティを使用するクラシック ワークフローを、[メッセージを待機] アクションを使用するフローに変換します。フローを再開するメッセージテキストとしてイベント名を使用できます。
    sendMessage() メソッドを使用してメッセージを作成する
    sendMessage() メソッドを使用して、待機中のフローのメッセージを作成します。フローでメッセージを生成して実行を再開する場合は、スクリプトステップを使用してカスタムアクションを作成してメッセージを生成します。または、メッセージを生成するイベントなど、フローの外部で実行されるスクリプトロジックを作成します。sendMessage() API の詳細については、「 FlowAPI - sendMessage(String contextSysID, String message, String payload)」を参照してください。

    メッセージが実行されるまで待機 Go back to フローロジック

    待機ステータスでの [メッセージを待機] アクションの実行の詳細。フローの他のステップは [未実行] ステータスです。

    このフローの例では、承認ステータスによって [メッセージを待機] アクションを実行するかどうかが決定されます。承認ステータスがスキップまたは却下の場合、フローは続行する前に sendMessage() API からのメッセージを待機します。このロジックを使用して、却下された承認要求を修正し、承認のために再送信することができます。

    この例では、Fred Luddy が承認を却下し、詳細情報を要求しています。フローを再開するには、誰かが Fred のコメントを処理し、sendMessage() API を実行して適切なメッセージ 「Resume Flow」を送信する必要があります。

    完了ステータスの [メッセージを待機] アクションの実行の詳細。ペイロードのランタイム値は [承認のために再送信済み] です。

    変更要求を修正した後、誰かが sendMessage() API を実行して「 フローを再開 」というメッセージを送信し、フローの ペイロード値 「 承認のために再送信済み」も送信しました。sendMessage() API の詳細については、「 FlowAPI - sendMessage(String contextSysID, String message, String payload)」を参照してください。

    API メッセージの値が [メッセージを待機] アクションの条件と一致したため、フローの実行が再開されました。この場合、フローは Go back to フローロジックブロックを使用して [承認を求める] アクションを再実行しています。

    「承認のために再送信されました」というテキストを含む変更レコードのアクティビティストリームの例。

    変更要求のアクティビティログは次のとおりです。ペイロード値 [ 承認のために再送信 済み] が [追加コメント ] フィールドに追加されました。