request_options (Python) or a final requestOptions argument (TypeScript) to override the timeout, retries or headers for one call; see request options.
create_folder
Create a new folder to organize workflowsawait skyvern.create_folder(*, title: str, description: str | None = ...) -> Folder
skyvern.createFolder(request: FolderCreate): Promise<Folder>
| Parameter | TypeScript | Type | Required | Default | Description |
|---|---|---|---|---|---|
title | title | str | Yes | — | Folder title |
description | description | str | None | No | — | Folder description |
Folder · TypeScript Promise<Folder>
Folder fields
Folder fields
| Field | Type | Description |
|---|---|---|
title | str | Folder title |
description | str | None | Folder description |
folder_id | str | |
organization_id | str | |
workflow_count | int | None | Number of workflows in this folder |
created_at | datetime | |
modified_at | datetime |
import asyncio
from skyvern import Skyvern
async def main() -> None:
skyvern = Skyvern(api_key="YOUR_API_KEY")
result = await skyvern.create_folder(title="Invoices")
print(result)
asyncio.run(main())
import { Skyvern } from "@skyvern/client";
const skyvern = new Skyvern({ apiKey: "YOUR_API_KEY" });
const result = await skyvern.createFolder({ title: "Invoices" });
console.log(result);
get_folder
Get a specific folder by IDawait skyvern.get_folder(folder_id: str) -> Folder
skyvern.getFolder(folderId: string): Promise<Folder>
| Parameter | TypeScript | Type | Required | Default | Description |
|---|---|---|---|---|---|
folder_id | folderId | str | Yes | — | Folder ID |
Folder · TypeScript Promise<Folder>
Folder fields
Folder fields
| Field | Type | Description |
|---|---|---|
title | str | Folder title |
description | str | None | Folder description |
folder_id | str | |
organization_id | str | |
workflow_count | int | None | Number of workflows in this folder |
created_at | datetime | |
modified_at | datetime |
import asyncio
from skyvern import Skyvern
async def main() -> None:
skyvern = Skyvern(api_key="YOUR_API_KEY")
result = await skyvern.get_folder(folder_id="fld_123")
print(result)
asyncio.run(main())
import { Skyvern } from "@skyvern/client";
const skyvern = new Skyvern({ apiKey: "YOUR_API_KEY" });
const result = await skyvern.getFolder("fld_123");
console.log(result);
get_folders
Get all folders for the organizationawait skyvern.get_folders(
*,
page: int | None = None,
page_size: int | None = None,
search: str | None = None,
) -> list[Folder]
skyvern.getFolders(request?: GetFoldersRequest): Promise<Folder[]>
| Parameter | TypeScript | Type | Required | Default | Description |
|---|---|---|---|---|---|
page | page | int | None | No | None | Page number |
page_size | page_size | int | None | No | None | Number of folders per page |
search | search | str | None | No | None | Search folders by title or description |
list[Folder] · TypeScript Promise<Folder[]>
Folder fields
Folder fields
| Field | Type | Description |
|---|---|---|
title | str | Folder title |
description | str | None | Folder description |
folder_id | str | |
organization_id | str | |
workflow_count | int | None | Number of workflows in this folder |
created_at | datetime | |
modified_at | datetime |
import asyncio
from skyvern import Skyvern
async def main() -> None:
skyvern = Skyvern(api_key="YOUR_API_KEY")
result = await skyvern.get_folders()
print(result)
asyncio.run(main())
import { Skyvern } from "@skyvern/client";
const skyvern = new Skyvern({ apiKey: "YOUR_API_KEY" });
const result = await skyvern.getFolders();
console.log(result);
update_folder
Update a folder’s title or descriptionawait skyvern.update_folder(
folder_id: str,
*,
title: str | None = ...,
description: str | None = ...,
) -> Folder
skyvern.updateFolder(folderId: string, request?: FolderUpdate): Promise<Folder>
| Parameter | TypeScript | Type | Required | Default | Description |
|---|---|---|---|---|---|
folder_id | folderId | str | Yes | — | Folder ID |
title | title | str | None | No | — | Folder title |
description | description | str | None | No | — | Folder description |
Folder · TypeScript Promise<Folder>
Folder fields
Folder fields
| Field | Type | Description |
|---|---|---|
title | str | Folder title |
description | str | None | Folder description |
folder_id | str | |
organization_id | str | |
workflow_count | int | None | Number of workflows in this folder |
created_at | datetime | |
modified_at | datetime |
import asyncio
from skyvern import Skyvern
async def main() -> None:
skyvern = Skyvern(api_key="YOUR_API_KEY")
result = await skyvern.update_folder(folder_id="fld_123", title="Invoices")
print(result)
asyncio.run(main())
import { Skyvern } from "@skyvern/client";
const skyvern = new Skyvern({ apiKey: "YOUR_API_KEY" });
const result = await skyvern.updateFolder("fld_123", { title: "Invoices" });
console.log(result);
delete_folder
Delete a folder. Optionally delete all workflows in the folder.await skyvern.delete_folder(
folder_id: str,
*,
delete_workflows: bool | None = None,
) -> dict[str, Any | None]
skyvern.deleteFolder(folderId: string, request?: DeleteFolderRequest): Promise<Record<string, unknown>>
| Parameter | TypeScript | Type | Required | Default | Description |
|---|---|---|---|---|---|
folder_id | folderId | str | Yes | — | Folder ID |
delete_workflows | delete_workflows | bool | None | No | None | If true, also delete all workflows in this folder |
dict[str, Any \| None] · TypeScript Promise<Record<string, unknown>>
Example
import asyncio
from skyvern import Skyvern
async def main() -> None:
skyvern = Skyvern(api_key="YOUR_API_KEY")
result = await skyvern.delete_folder(folder_id="fld_123")
print(result)
asyncio.run(main())
import { Skyvern } from "@skyvern/client";
const skyvern = new Skyvern({ apiKey: "YOUR_API_KEY" });
const result = await skyvern.deleteFolder("fld_123");
console.log(result);
update_workflow_folder
Update a workflow’s folder assignment for the latest versionawait skyvern.update_workflow_folder(
workflow_permanent_id: str,
*,
folder_id: str | None = ...,
) -> Workflow
skyvern.updateWorkflowFolder(workflowPermanentId: string, request?: UpdateWorkflowFolderRequest): Promise<Workflow>
| Parameter | TypeScript | Type | Required | Default | Description |
|---|---|---|---|---|---|
workflow_permanent_id | workflowPermanentId | str | Yes | — | Workflow permanent ID |
folder_id | folder_id | str | None | No | — | Folder ID to assign workflow to. Set to null to remove from folder. |
Workflow · TypeScript Promise<Workflow>
Workflow fields
Workflow fields
| Field | Type | Description |
|---|---|---|
workflow_id | str | |
organization_id | str | |
title | str | |
workflow_permanent_id | str | |
version | int | |
is_saved_task | bool | |
is_template | bool | None | |
description | str | None | |
workflow_definition | WorkflowDefinition | |
proxy_location | "RESIDENTIAL" | "US-CA" | "US-NY" | "US-TX" | "US-FL" | "US-WA" | "RESIDENTIAL_ES" | "RESIDENTIAL_IE" | "RESIDENTIAL_GB" | "RESIDENTIAL_IN" | "RESIDENTIAL_JP" | "RESIDENTIAL_FR" | "RESIDENTIAL_DE" | "RESIDENTIAL_NZ" | "RESIDENTIAL_ZA" | "RESIDENTIAL_AR" | "RESIDENTIAL_AU" | "RESIDENTIAL_BR" | "RESIDENTIAL_TR" | "RESIDENTIAL_CA" | "RESIDENTIAL_MX" | "RESIDENTIAL_IT" | "RESIDENTIAL_NL" | "RESIDENTIAL_PH" | "RESIDENTIAL_KR" | "RESIDENTIAL_SA" | "RESIDENTIAL_ISP" | "NONE" | Any | GeoTarget | dict[str, Any | None] | None | |
webhook_callback_url | str | None | |
totp_verification_url | str | None | |
totp_identifier | str | None | |
persist_browser_session | bool | None | |
pin_saved_session_ip | bool | None | |
browser_profile_id | str | None | |
browser_profile_key | str | None | |
model | dict[str, Any | None] | None | |
status | "published" | "draft" | "auto_generated" | "importing" | "import_failed" | None | |
max_screenshot_scrolls | int | None | |
max_elapsed_time_minutes | int | None | |
extra_http_headers | dict[str, str | None] | None | |
cdp_connect_headers | dict[str, str | None] | None | |
run_with | str | None | |
ai_fallback | bool | None | |
cache_key | str | None | |
adaptive_caching | bool | None | |
enable_self_healing | bool | None | |
code_version | int | None | |
generate_script_on_terminal | bool | None | |
run_sequentially | bool | None | |
sequential_key | str | None | |
folder_id | str | None | |
import_error | str | None | |
created_by | str | None | |
edited_by | str | None | |
copilot_authored | bool | None | |
created_at | datetime | |
modified_at | datetime | |
deleted_at | datetime | None | |
agent_id | str | None | Alias of workflow_permanent_id — the stable agent identifier (starts with wpid_). |
import asyncio
from skyvern import Skyvern
async def main() -> None:
skyvern = Skyvern(api_key="YOUR_API_KEY")
result = await skyvern.update_workflow_folder(
workflow_permanent_id="wpid_123",
folder_id="fld_123",
)
print(result)
asyncio.run(main())
import { Skyvern } from "@skyvern/client";
const skyvern = new Skyvern({ apiKey: "YOUR_API_KEY" });
const result = await skyvern.updateWorkflowFolder("wpid_123", { folder_id: "fld_123" });
console.log(result);

