From 6a2edc1371b44d7fce7e6cdd740d65badf1eed33 Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Sat, 1 Feb 2025 03:30:46 +0800 Subject: [PATCH] Add workflow templates endpoint (#1690) --- skyvern/forge/sdk/routes/agent_protocol.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/skyvern/forge/sdk/routes/agent_protocol.py b/skyvern/forge/sdk/routes/agent_protocol.py index 78ea5485..8204b266 100644 --- a/skyvern/forge/sdk/routes/agent_protocol.py +++ b/skyvern/forge/sdk/routes/agent_protocol.py @@ -943,6 +943,22 @@ async def get_workflows( ) +@base_router.get("/workflows/templates", response_model=list[Workflow]) +@base_router.get("/workflows/templates/", response_model=list[Workflow], include_in_schema=False) +async def get_workflow_templates() -> list[Workflow]: + global_workflows_permanent_ids = await app.STORAGE.retrieve_global_workflows() + + if not global_workflows_permanent_ids: + return [] + + workflows = await app.WORKFLOW_SERVICE.get_workflows_by_permanent_ids( + workflow_permanent_ids=global_workflows_permanent_ids, + statuses=[WorkflowStatus.published, WorkflowStatus.draft], + ) + + return workflows + + @base_router.get("/workflows/{workflow_permanent_id}", response_model=Workflow) @base_router.get("/workflows/{workflow_permanent_id}/", response_model=Workflow) async def get_workflow(