Aktion „Auf Nachricht warten“
Halten Sie einen Flow an, bis er eine bestimmte Nachricht von der Flow-API erhält. Geben Sie die Zeichenfolgennachricht an, die die Ausführung des Flows fortsetzt, und geben Sie optional einen Zeitüberschreitungswert an, um den Flow fortzusetzen, wenn nach einer bestimmten Zeit keine Nachricht empfangen wird.
Rollen und Verfügbarkeit
Verfügbar als Workflow-Studio ServiceNow -Kernaktion. Benutzer mit der Rolle „flow_designer“ oder „admin“ können einem Flow eine Aktion hinzufügen und Konfigurationsdetails definieren.
Eingaben
Geben Sie einen Wert für jede Eingabe an, die Ihre Aktion benötigt. Um dynamische Werte hinzuzufügen, können Sie Pillen auch aus dem Datenbereich ziehen oder in der Pillenauswahl auswählen.
- Nachricht
- Datentyp: String
Die Textzeichenfolge, die der Flow auf den Empfang von der sendMessage()-API wartet. Die Aktion verwendet diese Nachricht, um die Ausführung des Flow fortzusetzen. Weitere Informationen zur sendMessage()-API finden Sie unter FlowAPI - sendMessage(String contextSysID, String message, String payload).
- Zeitüberschreitung aktivieren
- Datentyp: True/False Option zum Beschränken der Zeit, die der Flow auf den Abschluss der Aktion wartet, bevor fortgefahren wird.Hinweis:Verwenden Sie die Option Zeitüberschreitung aktivieren, um zu verhindern, dass der Flow unbegrenzt wartet. Wenn die Nachricht nicht empfangen wird, gibt ein Zeitüberschreitungswert an, wann das System die Aktion Warten auf Nachricht überspringen und mit dem nächsten Element im Flow fortfahren kann. Sie müssen einen Wert für die Dauer festlegen, um eine Zeitüberschreitung zu aktivieren.
- Dauer
- Datentyp: Duration
Zeitspanne, die der Flow wartet, bevor er fortgesetzt wird, wenn die Option Zeitüberschreitung aktivieren ausgewählt ist. Geben Sie die Wartezeit in Stunden, Minuten und Sekunden ein. Wenn Sie dieses Feld leer lassen, wartet der Flow nicht.
Ausgaben
Diese Ausgaben werden im Datenbereich angezeigt. Sie können sie an anderer Stelle in Ihrem Flow als Eingaben verwenden.
- Nutzlast
- Datentyp: String
Eine von der sendMessage()-API zurückgegebene Textzeichenfolge. Der übergeordnete Flow kann Nutzlastwerte als Eingaben für andere Aktionen oder Flow-Logik verwenden.
- Status
- Datentyp: Choice Der Abschlussstatus der Aktion als numerischer Wert.
- 0 (Erfolg)
- 1 (Fehler)
Allgemeine Leitlinien
- Konvertieren Sie Warteaktivitäten für Workflow-Ereignisse mit dieser Aktion
- Konvertieren Sie klassische Workflows, die die Aktivität „Auf WF-Ereignis warten“ in Flows verwenden, die die Aktion „Auf Nachricht warten“ verwenden. Sie können den Ereignisnamen als Nachrichtentext verwenden, der den Flow fortsetzt.
- Verwenden Sie die Methode sendMessage(), um Nachrichten zu erstellen
- Erstellen Sie Nachrichten für wartende Flows mit der Methode sendMessage(). Wenn der Flow die Nachricht generieren soll, um die Ausführung fortzusetzen, erstellen Sie eine anwenderdefinierte Aktion mit einem Skriptschritt, um die Nachricht zu generieren. Alternativ können Sie eine Skriptlogik erstellen, die außerhalb des Flows ausgeführt wird, z. B. ein Ereignis, um die Nachricht zu generieren. Weitere Informationen zur sendMessage()-API finden Sie unter FlowAPI - sendMessage(String contextSysID, String message, String payload).
Warten, bis die Nachricht ausgeführt wird. Kehren Sie zur Flow-Logik zurück
In diesem Beispiel-Flow bestimmt der Genehmigungsstatus, ob die Aktion Warten auf Nachricht ausgeführt werden soll. Wenn der Genehmigungsstatus übersprungen oder abgelehnt wird, wartet der Flow auf eine Nachricht von der sendMessage()-API, bevor er fortfahren kann. Sie können diese Logik verwenden, um eine abgelehnte Genehmigungsanforderung zu korrigieren und erneut zur Genehmigung einzureichen.
In diesem Beispiel hat Fred Luddy die Genehmigung abgelehnt und weitere Informationen angefordert. Um den Flow fortzusetzen, muss jemand Freds Kommentare bearbeiten und dann die API „sendMessage()“ ausführen, um die richtige Nachricht zum Fortsetzen des Flowszu senden.
Nach der Korrektur der Change-Anforderung hat jemand die API „sendMessage()“ ausgeführt, um die Nachricht „Flow zum Fortsetzen“ zu senden und dem Flow den Nutzlastwert „ Zur Genehmigung erneut übermittelt“zu senden. Weitere Informationen zur sendMessage()-API finden Sie unter FlowAPI - sendMessage(String contextSysID, String message, String payload).
Da der Wert der API-Nachricht den Bedingungen der Aktion „Auf Nachricht warten“ entsprach, wurde die Ausführung des Flows fortgesetzt. In diesem Fall verwendete der Flow einen Logikblock Zurück zum Flow, um die Aktion „Genehmigung anfordern“ erneut auszuführen.
Hier ist das Aktivitätsprotokoll der Change-Anforderung. Der Nutzlastwert „Erneut zur Genehmigung übermittelt“ wurde dem Feld „Zusätzliche Kommentare“ hinzugefügt.