Init Singal Output
A one-shot 'workflow just started' pulse, spelled Singal
- init_signal
Init Singal Output (class AsyncOutputInitSignalOutput) - yes, "Singal," that's the author's spelling, and it's stuck in the display name forever - emits a true pulse exactly once, when the workflow starts, and then goes quiet for the rest of the run. It's the "run this bootstrap step only on the first pass" node, and it exists because the rest of the AsyncOutput pack is so stateful that you often need a clean, knowable starting point.
The pattern you'll actually use it for: feeding the signal into a reset input. The pack's Emitter, Callback, RemoteTrigger, and the multiline nodes all have optional reset inputs, and the natural move is "reset all my counters on the first pass, then let them accumulate." Init Signal gives you exactly that - a boolean that's true on pass one and absent (blocked) afterwards.
How it works
This one doesn't use the global dicts. It reads the workflow's extra metadata that the pack's on_prompt hook stashes into extra_pnginfo["workflow"]["extra"] - specifically a flag under the ASYNC_OUTPUT key. On the first execution it finds the flag false, sets it true, and returns true. Every subsequent pass finds it already true and returns an ExecutionBlocker, which (as with AsyncOutputCallback) means "don't run downstream this pass" rather than "error." If it can't find that workflow metadata at all, it blocks - so how the workflow gets queued matters.
The inputs that matter
always_output(BOOLEAN, defaultfalse) - the tooltip says it plainly: "if false, only emit once. else every runtime loop tick send." Flip it totrueif you want the signal (returningfalseafter the first tick) to keep flowing every pass rather than blocking.
Output: init_signal (BOOLEAN) - true once, then blocked (or repeatedly false with always_output).
Installing it
Same zero-dependency install as the whole pack. ComfyUI Manager → search "AsyncOutput" → install and restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/teddy1565/ComfyUI-AsyncOutput
It lives under AsyncOutput/Deprecated(ComfyUI NOT Turing complete)/WorkFlowTool.
Where people get burned
The honest caveat: it depends on the workflow's extra metadata being present and writable, which is a fragile seam. Queue from the UI and it generally works; drive ComfyUI via the API with hand-built prompts and that metadata may never be there, in which case the node just blocks and you'll wonder why your "reset on init" never fires. If you're on the API path, a manual toggle you flip between runs is more reliable than trusting this one. And as with everything in this pack, the author flags the family as deprecated - it's a clever idea built on machinery ComfyUI doesn't fully promise you.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| always_output | BOOLEAN | false | if false, only emit once. else every runtime loop tick send. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| init_signal | BOOLEAN | — |