diff --git a/surfsense_backend/app/agents/new_chat/tools/confluence/create_page.py b/surfsense_backend/app/agents/new_chat/tools/confluence/create_page.py index 50ef24a1b..fed7710aa 100644 --- a/surfsense_backend/app/agents/new_chat/tools/confluence/create_page.py +++ b/surfsense_backend/app/agents/new_chat/tools/confluence/create_page.py @@ -187,6 +187,10 @@ def create_create_confluence_page_tool( raise page_id = str(api_result.get("id", "")) + page_links = api_result.get("_links", {}) if isinstance(api_result, dict) else {} + page_url = "" + if page_links.get("base") and page_links.get("webui"): + page_url = f"{page_links['base']}{page_links['webui']}" kb_message_suffix = "" try: @@ -213,6 +217,7 @@ def create_create_confluence_page_tool( return { "status": "success", "page_id": page_id, + "page_url": page_url, "message": f"Confluence page '{final_title}' created successfully.{kb_message_suffix}", } diff --git a/surfsense_backend/app/agents/new_chat/tools/confluence/update_page.py b/surfsense_backend/app/agents/new_chat/tools/confluence/update_page.py index 36dd091b4..34353eb1f 100644 --- a/surfsense_backend/app/agents/new_chat/tools/confluence/update_page.py +++ b/surfsense_backend/app/agents/new_chat/tools/confluence/update_page.py @@ -165,7 +165,7 @@ def create_update_confluence_page_tool( client = ConfluenceHistoryConnector( session=db_session, connector_id=final_connector_id ) - await client.update_page( + api_result = await client.update_page( page_id=final_page_id, title=final_title, body=final_content, @@ -190,6 +190,11 @@ def create_update_confluence_page_tool( } raise + page_links = api_result.get("_links", {}) if isinstance(api_result, dict) else {} + page_url = "" + if page_links.get("base") and page_links.get("webui"): + page_url = f"{page_links['base']}{page_links['webui']}" + kb_message_suffix = "" if final_document_id: try: @@ -219,6 +224,7 @@ def create_update_confluence_page_tool( return { "status": "success", "page_id": final_page_id, + "page_url": page_url, "message": f"Confluence page '{final_title}' updated successfully.{kb_message_suffix}", } diff --git a/surfsense_web/components/tool-ui/confluence/create-confluence-page.tsx b/surfsense_web/components/tool-ui/confluence/create-confluence-page.tsx index 058918984..ea4434852 100644 --- a/surfsense_web/components/tool-ui/confluence/create-confluence-page.tsx +++ b/surfsense_web/components/tool-ui/confluence/create-confluence-page.tsx @@ -53,6 +53,7 @@ interface InterruptResult { interface SuccessResult { status: "success"; page_id: string; + page_url?: string; message?: string; } @@ -436,10 +437,21 @@ function SuccessCard({ result }: { result: SuccessResult }) {
-
- Page ID: - {result.page_id} -
+ {result.page_url ? ( + + Open in Confluence + + ) : ( +
+ Page ID: + {result.page_id} +
+ )}
); diff --git a/surfsense_web/components/tool-ui/confluence/update-confluence-page.tsx b/surfsense_web/components/tool-ui/confluence/update-confluence-page.tsx index 804f8bf7b..286981d51 100644 --- a/surfsense_web/components/tool-ui/confluence/update-confluence-page.tsx +++ b/surfsense_web/components/tool-ui/confluence/update-confluence-page.tsx @@ -46,6 +46,7 @@ interface InterruptResult { interface SuccessResult { status: "success"; page_id: string; + page_url?: string; message?: string; } @@ -472,10 +473,21 @@ function SuccessCard({ result }: { result: SuccessResult }) {
-
- Page ID: - {result.page_id} -
+ {result.page_url ? ( + + Open in Confluence + + ) : ( +
+ Page ID: + {result.page_id} +
+ )}
);