From f9b2cb0fb30ba60ce91a0d16de772121747bb823 Mon Sep 17 00:00:00 2001 From: Jonathan Dobson Date: Tue, 28 Oct 2025 10:18:12 -0400 Subject: [PATCH] BE: allow workflow run UI to show browser stream if workflow run has one (#3834) --- skyvern/forge/sdk/db/client.py | 3 +++ skyvern/forge/sdk/workflow/service.py | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/skyvern/forge/sdk/db/client.py b/skyvern/forge/sdk/db/client.py index 7158fe7c..f229b433 100644 --- a/skyvern/forge/sdk/db/client.py +++ b/skyvern/forge/sdk/db/client.py @@ -1878,6 +1878,7 @@ class AgentDB: sequential_key: str | None = None, ai_fallback: bool | None = None, depends_on_workflow_run_id: str | None = None, + browser_session_id: str | None = None, ) -> WorkflowRun: async with self.Session() as session: workflow_run = ( @@ -1908,6 +1909,8 @@ class AgentDB: workflow_run.ai_fallback = ai_fallback if depends_on_workflow_run_id: workflow_run.depends_on_workflow_run_id = depends_on_workflow_run_id + if browser_session_id: + workflow_run.browser_session_id = browser_session_id await session.commit() await session.refresh(workflow_run) await save_workflow_run_logs(workflow_run_id) diff --git a/skyvern/forge/sdk/workflow/service.py b/skyvern/forge/sdk/workflow/service.py index d3404fec..f9c17155 100644 --- a/skyvern/forge/sdk/workflow/service.py +++ b/skyvern/forge/sdk/workflow/service.py @@ -465,6 +465,10 @@ class WorkflowService: if browser_session: browser_session_id = browser_session.persistent_browser_session_id close_browser_on_completion = True + await app.DATABASE.update_workflow_run( + workflow_run_id=workflow_run.workflow_run_id, + browser_session_id=browser_session_id, + ) # Check if there's a related workflow script that should be used instead workflow_script, _ = await workflow_script_service.get_workflow_script(workflow, workflow_run, block_labels)