WAIT_FOR_SIGNAL plugin uses signals for human-in-the-loop steps: it holds each message until its signal arrives, then lets the message go on, drops it or fails, depending on the decision.
Add a wait
Any decision other than
reject lets the message through. The message is tagged with signal.name, signal.decision and signal.data, so a later branch can route on metadata.signal.decision.
The engine’s idle timeout for this node is the wait plus 30 seconds, so the node does not time out while it waits.
Send a signal
The call needs the
OPERATOR role. Signals go through the same ordering, review and audit as every other command. The same action is available as the MCP tool signal_node, in the web UI’s pending-approvals strip, and in the CLI.
When the node is not waiting yet
List pending approvals
list_pending_approvals and the workflow page in the web UI show the same list.