Nodes/NZ workflow manager - beta/šŸ“ NZå·„ä½œęµåŠ©ę‰‹ļ¼ˆå†…ęµ‹ē‰ˆļ¼‰
ComfyUI Node

šŸ“ NZå·„ä½œęµåŠ©ę‰‹ļ¼ˆå†…ęµ‹ē‰ˆļ¼‰

List, load, and save workflows to any folder, straight from the graph

By K-O-N-BĀ·Created 8 months agoĀ·Updated 8 months agoĀ· 1
šŸ“ NZå·„ä½œęµåŠ©ę‰‹ļ¼ˆå†…ęµ‹ē‰ˆļ¼‰
    • STRING
    ā—„actionlist_directoryā–ŗ
    ā—„pathā–ŗ
    ā—„workflow_data{}ā–ŗ

    Want to save a workflow to an arbitrary folder, or peek at what's in a directory, without leaving the canvas? That's this node. NZ_Workflow_Manager is the graph-facing half of the NZ Workflow Assistant beta pack (K-O-N-B/ComfyUI-WorkflowManager-beta): it's a tiny file API with three actions, and it runs on the ComfyUI server, not in your browser. The same operations power the pack's sidebar UI, and this node hands you the same file access as a socket you can drop into a workflow.

    How it works

    Pick an action, point it at a path, and the node returns JSON as a single STRING output. Straight from the source, the three actions are:

    • list_directory - given a path, returns a JSON object with directories and files (only .json files), each with a MM/DD/YY modified date, plus the path you asked about. Empty path defaults to the process's current working directory.
    • load_workflow - reads a .json file's contents and returns {"path": ..., "data": <the raw workflow text>, "type": "workflow_loaded"}. Only .json files are accepted; anything else is rejected.
    • save_workflow - writes workflow_data to path. It appends .json if you left it off, creates parent directories for you, and validates that workflow_data is real JSON before writing. On success you get {"path": ..., "message": "å·„ä½œęµäæå­˜ęˆåŠŸ", "type": "workflow_saved"}.

    Failure isn't an exception that pops an error box - the node returns an error string in the output. So "directory doesn't exist" comes back as ē›®å½•äøå­˜åœØ: <path>. Not a crash, just a string you have to read.

    Inputs and outputs that matter

    • action - enum, defaults to list_directory. This is the one you'll change every time.
    • path - a plain string. Read the "where people get burned" section before you use it.
    • workflow_data - multiline string, defaults to "{}". Only matters for save_workflow; it must be valid JSON or the save fails.
    • Output STRING - JSON, or a Chinese error message. It's a string, not a live workflow object, so you can't wire it straight back into the canvas to spawn a graph - you'd feed it to a parser/loader node or just use the sidebar UI.

    Where people get burned

    • path is an OS path, not a ComfyUI-relative path. It doesn't resolve against your user/default/workflows folder. On Windows that's D:\ComfyUI\user\default\workflows\thing.json; on Linux an absolute path. And there's zero sandboxing - the node can list, read, and write anywhere the ComfyUI process can reach. That's the feature and the risk: don't run this (or the whole pack, which exposes the same ops over HTTP/WebSocket) on an internet-exposed instance. ComfyUI's API is unauthenticated by default, and this hands it a file-writer.
    • load_workflow only reads .json - it checks the extension explicitly. A workflow with a different extension comes back as an error.
    • save_workflow validates JSON - paste malformed text into workflow_data and it refuses to write rather than saving a broken file. That's a nice touch, but it means your string has to round-trip as JSON first.
    • Errors are in Chinese. ē›®å½•äøå­˜åœØ (directory doesn't exist), ę“ä½œå¤±č“„ (operation failed). Fine once you know; confusing the first time an English-only setup hits it.
    • It's a beta. The README is one paragraph pointing at a Feishu/Notion page for the "full version" - the GitHub release is the preview, version 0.5.0 as of early 2026.

    Installing it

    ComfyUI Manager - search "NZ workflow manager - beta" - or clone it:

    cd ComfyUI/custom_nodes
    git clone https://github.com/K-O-N-B/ComfyUI-WorkflowManager-beta
    

    Restart ComfyUI. No model downloads; deps are light (psutil, py-cpuinfo, pynvml) on Python 3.10–3.13. The node shows up under "NZ Workflow."

    Honestly? For most people the pack's sidebar does this better than the node does. Reach for NZ_Workflow_Manager when you want it inside a workflow - a graph that periodically writes its own state to disk, a script that lists a folder and acts on the JSON. That's a niche, but when you need it, it's the only one doing it without a terminal.

    CategoryNZ Workflow

    Inputs (3)

    NameTypeDefaultDescription
    actionCOMBOlist_directory3 options: list_directory, load_workflow, save_workflow
    pathSTRING—
    workflow_dataSTRING{}—

    Outputs (1)

    NameTypeDescription
    STRINGSTRING—