Nodes/MKRShift_Nodes/HTTP Webhook Plan
ComfyUI Node

HTTP Webhook Plan

A webhook you can build without sending anything — plan first, fire later

By criskb·Created 7 months ago·Updated 5 months ago· 0
HTTP Webhook Plan
    • http_plan_json
    • manifest_line
    • summary_json
    urlhttp://127.0.0.1:8188/mkrshift
    methodPOST
    payload_json{}
    headers_json{}

    The name is doing a lot of work here, so let's be precise: this node does not send anything. It describes an HTTP request - URL, method, headers, payload - as a JSON document you can build, inspect, and hand off. It's part of MKRShift's deliberate plan/send split: plan nodes are pure data with zero side effects, and a separate runtime node actually fires the request. If you've used the pack's host-addon lane (TouchDesigner, Nuke, Blender bridges), this is the same pattern at the HTTP level.

    Why plan-first is nice

    Three reasons you'd reach for this instead of just typing a URL into a generic HTTP node:

    1. It's reviewable. The plan is a string you can look at before anything goes anywhere. MKRJSONDiff is right there in the same pack for exactly this - diff the plan you built against the plan a debug node received.
    2. It's reproducible. Plans can be saved, versioned, and re-sent with MKRHTTPWebhookSend. The request definition is data, not a side effect buried mid-graph.
    3. It separates concerns. Your graph can build a plan based on runtime values, then a different node (or a different run) executes it. Want to fire the same webhook with three different payloads? Build the plan once, override the payload at send time.

    Inputs

    • url - where the request goes. Default http://127.0.0.1:8188/mkrshift, i.e. a local endpoint - sensible for testing against the ComfyUI server itself or a local add-on.
    • method - POST, PUT, or PATCH. No GET here; the pack assumes you're pushing data, not fetching it. (The webhook-send sibling also only handles these three.)
    • payload_json - the request body, as JSON text.
    • headers_json - optional custom headers. This is where an Authorization token or a custom Content-Type goes.

    Outputs

    • http_plan_json - the built plan: schema, protocol, url, method, headers, payload. This is the thing you wire into MKRHTTPWebhookSend.
    • manifest_line - a compact METHOD,url line, handy for the pack's manifest/registry patterns or just for a quick text display.
    • summary_json - URL, method, header count, and any warnings from malformed JSON (a bad payload_json degrades gracefully to {} plus a warning rather than erroring).

    Installing it

    Part of the pack:

    # ComfyUI Manager: search "MKRShift Nodes", install, restart.
    # or:
    cd ComfyUI/custom_nodes
    git clone https://github.com/criskb/MKRShift_Nodes
    # restart ComfyUI
    

    No extra dependencies, no API keys, no credentials to paste. Which is a genuinely nice property for a network node in a pack - see below.

    The one thing to keep in mind

    The broader network-node world carries real risk - any node that ships a key and calls out by design is the shape of the thing that got ComfyUI users compromised before. This pack's take on it is reassuring: the plan node is inert, the send node uses the standard library and defaults to localhost, and there's no credential store anywhere in it. So the honest advice is: use it, but keep your eyes open when you're wired up to anything real - a webhook to a production endpoint with a pasted token in headers_json deserves the same scrutiny as any other node that reaches the network. The plan/send split actually helps here: the plan is readable, so you can always see exactly what's about to be sent before the send node fires it.

    CategoryMKRShift Nodes/Addons/Network

    Inputs (4)

    NameTypeDefaultDescription
    urlSTRINGhttp://127.0.0.1:8188/mkrshift
    methodCOMBOPOST3 options: POST, PUT, PATCH
    payload_jsonSTRING{}
    headers_jsonoptSTRING{}

    Outputs (3)

    NameTypeDescription
    http_plan_jsonSTRING
    manifest_lineSTRING
    summary_jsonSTRING