# ComfyUI-ChickTools [中文说明](README_CN.md) **NotifyMe** (`NotifyMeNode`) sends a task ID and upstream text to an allowlisted HTTPS callback, with optional passthrough of any connected data type. Node names, descriptions and tooltips default to English. ## Installation Run from ComfyUI's `custom_nodes` directory: ```sh git clone https://github.com/chookg/ComfyUI-ChickTools.git cd ComfyUI-ChickTools python -m pip install -r requirements.txt ``` Use the Python interpreter that runs ComfyUI, then restart ComfyUI and search for `Notify Me` in the node menu. ## Inputs | Input | Description | | --- | --- | | `callback_url` | Required HTTPS URL on `notify.bro3.net`; fill in your actual receiving endpoint | | `id` | Editable task identifier, sent unchanged as text; defaults to an empty string | | `msg` | Optional STRING connection; sends an empty string when unconnected | | `passthrough` | Optional input of any type; returned unchanged through the matching output after a successful callback | ## Usage ```text Text node → NotifyMe.msg Upstream data → NotifyMe.passthrough → Downstream node ``` Set `callback_url` and your task `id`, then run. The node sends an HTTP POST with a JSON body containing only: ```json {"id": "task-001", "msg": "Upstream text"} ``` The `msg` text is preserved exactly. Passthrough data stays inside the workflow and is not sent as a callback attachment. Only **HTTP 200** is accepted. To notify after a particular operation, connect its output to `msg` or `passthrough`; notification runs after the connected upstream nodes finish. Every queued run sends another notification. Connect and read timeouts are 15 seconds each, with no automatic retries or redirects. ## Allowed domains The only allowed host is **`notify.bro3.net`**. Matching is exact after hostname normalization; subdomains, other domains, IP literals and private DNS results are rejected. The allowlist is maintained in [callback_policy.py](utils/callback_policy.py) and cannot be changed by workflow inputs. Callback URLs default to blank; use a receiver you control or have permission to use. To request another domain, [open a domain request](https://github.com/chookg/ComfyUI-ChickTools/issues/new?template=domain-request.yml) or submit a PR with ownership evidence and the intended use. The maintainer reviews the request, then submits accepted changes for upstream/platform review. Repository acceptance does not mean ComfyUI-Manager or RunningHub approval; cloud availability depends on their review and installed version. See [domain requests](docs/DOMAIN_REQUESTS.md). When upgrading from 0.5.x, restart ComfyUI and recreate NotifyMe or import an updated example. The old `allow_localhost` option has been removed. Local automated tests use isolated fixtures; deployed nodes always enforce the allowlist. [Text notification example](examples/notify_me_example.json) · [Empty message example](examples/notify_me_empty_example.json) · [License](LICENSE) [Reviewer test receiver](https://notify.bro3.net/) · [Test instructions](docs/REVIEW_SERVICE.md) — create a temporary session to verify synthetic id/msg notifications.