mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-16 14:24:24 -05:00
[GH-ISSUE #24041] feat: FEEDBACK_WEBHOOK_URL — forward message ratings to an external endpoint #35693
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Arashsm on GitHub (Apr 23, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/24041
Check Existing Issues
Verify Feature Scope
Problem Description
Problem Description
When a user submits a thumbs-up/down rating on a message, the feedback is stored only in Open WebUI's internal database (
/api/v1/evaluations/feedback). There is no built-in way to forward that data to an external system in real time.Teams running Open WebUI in production who want to pipe user ratings into their own evaluation or observability stack (e.g., Opik, W&B, MLflow, Langfuse, or a custom analytics endpoint) currently have no option other than polling the REST API, which requires admin authentication, adds latency, and is not real-time.
Desired Solution you'd like
Desired Solution
Add a
FEEDBACK_WEBHOOK_URLenvironment variable (also configurable via the admin UI) following the exact same pattern as the existingWEBHOOK_URLused for user-signup notifications.When set, the backend forwards each new feedback entry to the configured URL as an async, fire-and-forget HTTP POST immediately after it is saved to the database. The existing
post_webhook()utility inutils/webhook.pyalready handles Slack, Discord, Teams, and generic JSON payloads — it would be reused directly with no duplication.Minimal sketch of the change (~5 lines total):
config.py— one newPersistentConfigline next toWEBHOOK_URL:routers/evaluations.py— inside the existingcreate_feedbackendpoint:Alternatives Considered
No response
Additional Context
No response