diff --git a/backend/utils/webhook.py b/backend/utils/webhook.py index 1bc5a6048..51157a4e4 100644 --- a/backend/utils/webhook.py +++ b/backend/utils/webhook.py @@ -1,4 +1,7 @@ +import json + import requests +from config import VERSION def post_webhook(url: str, message: str, event_data: dict) -> bool: @@ -9,6 +12,27 @@ def post_webhook(url: str, message: str, event_data: dict) -> bool: payload["text"] = message elif "https://discord.com/api/webhooks" in url: payload["content"] = message + elif "webhook.office.com" in url: + action = event_data.get("action", "undefined") + facts = [ + {"name": name, "value": value} + for name, value in json.loads(event_data.get("user", {})).items() + ] + payload = { + "@type": "MessageCard", + "@context": "http://schema.org/extensions", + "themeColor": "0076D7", + "summary": message, + "sections": [ + { + "activityTitle": message, + "activitySubtitle": f"Open WebUI ({VERSION}) - {action}", + "activityImage": "https://openwebui.com/favicon.png", + "facts": facts, + "markdown": True, + } + ], + } else: payload = {**event_data}