ComfyUI Extension: ComfyUI-WebhookNotifier

Authored by iSuneast

Created

Updated

2 stars

The Webhook Notification plugin for ComfyUI, used to send webhook notifications when image generation is complete.

Custom Nodes (0)

    README

    ComfyUI-WebhookNotifier

    Webhook notification plugin for ComfyUI, used to send webhook notifications when workflow execution is completed.

    Features

    • Automatically sends webhook notifications after workflow execution
    • Supports custom JSON data in notifications
    • Provides two nodes:
      • Webhook Notifier: connects to an IMAGE output as trigger
      • Webhook Notifier (Any): accepts any input type as trigger (IMAGE, STRING, LATENT, VHS_FILENAMES, etc.)

    Installation

    1. Clone this repository to ComfyUI's custom_nodes directory:
    cd ComfyUI/custom_nodes
    git clone https://github.com/iSuneast/ComfyUI-WebhookNotifier.git
    
    1. Install dependencies:
    pip install -r requirements.txt
    
    1. Restart ComfyUI service

    Usage

    The plugin provides two Webhook Notifier nodes:

    Webhook Notifier

    Connects to an IMAGE output to send notifications when image generation is complete.

    Parameters:

    • images: Trigger input (required, connects to an IMAGE output; the data is not read or sent, only used as a trigger)
    • webhook_url: Webhook URL address (required, default is "https://example.com/webhook")
    • additional_info: Additional information in JSON format (optional, default is empty)

    Webhook Notifier (Any)

    Accepts any input type to send notifications when execution is complete.

    Parameters:

    • any_input: Trigger input (required, accepts any type such as IMAGE, STRING, LATENT, VHS_FILENAMES, etc.; the data is not read or sent, only used as a trigger)
    • webhook_url: Webhook URL address (required, default is "https://example.com/webhook")
    • additional_info: Additional information in JSON format (optional, default is empty)

    Webhook Notification Format

    The WebhookNotifier node sends the contents of the additional_info parameter as the JSON payload. Note that the input data itself is not included in the webhook payload. The node only requires the any_input connection to trigger the notification when execution is complete.

    For example, if you provide the following in the additional_info field:

    {
      "status": "completed",
      "custom_field1": "Custom value 1",
      "custom_field2": "Custom value 2"
    }
    

    This exact JSON will be sent to the webhook URL. If the additional_info field is left empty or contains invalid JSON, an empty JSON object {} will be sent.

    Example

    • Webhook Notifier: Connect an image output to the images input, set your webhook URL, and optionally provide additional information in JSON format.
    • Webhook Notifier (Any): Connect any output (IMAGE, STRING, LATENT, VHS_FILENAMES, etc.) to the any_input, set your webhook URL, and optionally provide additional information.

    When the upstream node completes execution, the webhook will send a POST request to the specified URL with your custom data.

    Debugging

    The node prints debug information to the console, including whether the webhook notification was sent successfully:

    • "Webhook notification started in background" when the webhook thread is started
    • "Webhook notification successful: [status code]" for successful requests
    • "Webhook notification failed: [status code] - [response text]" for failed requests
    • "Error sending webhook: [error message]" for exceptions
    • "Error preparing webhook: [error message]" if there are errors before sending

    License

    MIT

    Contributions

    Issues and pull requests are welcome!