Skip to main content
Webhooks let RunComfy push request updates to your server instead of requiring polling. When enabled on a request:
  • RunComfy sends POST callbacks with status/progress updates
  • you can react immediately (store results, update UI, trigger downstream jobs)
  • you can reduce or eliminate polling load

How to enable webhooks

When you submit an inference request, pass webhook options as query parameters:
  • webhook: your HTTPS endpoint that will receive callbacks (URL-encoded)
  • webhook_intermediate_status: set to true to receive intermediate updates (in queue / in progress)
Note: Because the webhook URL is part of the query string, it must be URL-encoded. Example: https://example.com/api/runcomfy/webhookhttps%3A%2F%2Fexample.com%2Fapi%2Fruncomfy%2Fwebhook

Request example (with webhook)

The request body must conform to the deployment’s input schema shown on the deployment details page under the API tab.

Callback payloads

Callbacks are delivered as JSON. Payload shape depends on the current state of the request. Common fields you’ll see:
  • request_id
  • deployment_id
  • status and/or outcome
  • created_at / finished_at
  • output (on success) — matches the output schema you get from GET …/result

Example: in_queue

Example: in_progress

Example: succeeded

Example: failed


Delivery and retries

  • Your webhook endpoint should respond with 2xx quickly.
  • Non-2xx responses may trigger retries.
  • Keep your handler idempotent (you may receive the same event more than once).
If a request fails and you need troubleshooting guidance, see Error Codes.