On Complete Webhook
Render done? Fire a webhook and let Discord, Slack, or n8n take it from there
- any
- images
- STRING
Of the three nodes in the hyunamy/comfy-ui-on-complete-email-me pack, OnCompleteWebhook is the one with the most range. PlaySound chimes on the machine, EmailMe sends Gmail - this one throws a plain HTTP request at any URL you give it, which means Discord, Slack, IFTTT, n8n, a Home Assistant instance, or your own little endpoint can all react the second a render lands. It's the pack's most "engineering-friendly" option, and it's barely been discovered (three impressions - you're early).
The inputs that matter are few:
webhook_url- where the request goes. The default ishttps://webhook.site/your-unique-id, which is a placeholder, not a real destination. Replace it.webhook_type- GET or POST, default GET.message- the text you want sent along.images- optional IMAGE input, but here's the thing: treat it as required. The node only fires when it has images to chew through; it loops the batch, and on the last frame it makes the request. Wire no images and it returns"No images to process"without ever hitting your endpoint.
There's also the any wildcard input to force ordering - same trick as the other nodes in the pack - and one output: response, a STRING containing whatever your endpoint replied with. That's genuinely handy: pipe it into a Text node and you can see your server's response right in the workflow. Great for debugging without opening a terminal.
How it actually sends: GET puts your message in the query string (?message=...), POST sends a JSON body with {"message": ...}. No auth headers, no custom payload, no image upload - you get the message string, period. Which brings up the classic trap: Discord and Slack webhooks want POST. A GET to a Discord webhook URL just gets rejected, and the node will cheerfully print the 405 to your console. For anything chat-related, set webhook_type to POST.
Mechanically it's plain requests under the hood, so installation is the same pack-level story: ComfyUI Manager → Install via Git URL (https://github.com/hyunamy/comfy-ui-on-complete-email-me), or clone into custom_nodes and restart. No model files, no new heavy dependencies - requests is already in ComfyUI's environment.
Troubleshooting, in practice:
- Nothing fires. First suspect is the images input being empty - that's the code path that just returns "No images to process." Second suspect is leaving the placeholder webhook.site URL in place.
- Response shows an error status. GET vs POST mismatch, or your endpoint expects a different payload shape than the flat
messagefield. This is where theresponseoutput earns its keep. - Testing: hit webhook.site first to watch the request arrive, then wire up the real target.
If you already run an automation hub like n8n, this node is a nicer fit than the email one - no credentials in the workflow file, just a URL. For a simple "ping me when it's done," the sound node is easier; for "ping my whole stack," this is the one.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| any | * | — | |
| webhook_type | COMBO | GET | 2 options: GET, POST |
| webhook_url | STRING | https://webhook.site/your-unique-id | — |
| message | STRING | Hello, this is a test message from ComfyUI! | — |
| imagesopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |