Skip to main content
Workflows are built from blocks. Each block performs one specific operation: navigating a page, extracting data, making an API call, or branching logic. This page covers every block type available in the editor, grouped by category.

Quick reference

CategoryBlocks
Browser AutomationBrowser Task, Browser Action, Extraction, Login, Go to URL, Print Page
Data and ExtractionText Prompt, File Parser
Control FlowLoop, Conditional, AI Validation, Code, Wait
FilesFile Download, Cloud Storage Upload
CommunicationSend Email, HTTP Request, Human Interaction

Common fields

These fields appear on most blocks:
FieldDescription
LabelDisplay name on the canvas. Also determines how downstream blocks reference this block’s output ({{ label_output }}).
Continue on FailureAllow the workflow to continue if this block fails
Next Loop on FailureOnly inside loops. Skip to the next iteration on failure.
ModelOverride the default LLM model for this block (Advanced Settings on most blocks)
Browser-based blocks (Browser Task, Browser Action, Extraction, Login, File Download) share these additional fields:
FieldDescription
URLStarting URL. Leave blank to continue from the previous block’s page.
EngineAI engine: Skyvern 1.0 or Skyvern 2.0
Max Steps OverrideCap the number of AI reasoning steps
Disable CacheSkip cached script execution
TOTP IdentifierLink TOTP credentials for 2FA handling
TOTP Verification URLEndpoint for fetching TOTP codes
Error Code MappingMap error conditions to custom error codes (JSON)

Browser Automation

Browser Task

The primary block for browser automation. Accepts a natural-language prompt and autonomously navigates the browser to accomplish the goal. The block has two engine modes, selected via the Engine dropdown. The fields shown change depending on which engine you choose. Skyvern 2.0 (recommended):
FieldTypeDescription
URLtextStarting URL (optional)
PrompttextNatural language instructions for the AI
Max StepsnumberMaximum AI steps
Disable CachebooleanSkip cached script execution
Skyvern 1.0:
FieldTypeDescription
URLtextStarting URL (optional)
PrompttextNatural language instructions for the AI
Additional fields in Advanced Settings (Skyvern 1.0 only):
FieldTypeDescription
Complete if…textCondition that signals the block is done
Include Action History in VerificationbooleanInclude prior actions when verifying completion
Complete on DownloadswitchMark the block as complete when a file download occurs
File NametextCustom filename for downloaded files
Plus common browser fields.
Browser Task is the recommended block for most browser automation. Use it for anything from form filling to multi-page navigation. Include your success criteria directly in the prompt so the AI knows when it’s done.

Browser Action

Execute a single browser action. Best for precise, one-step operations like clicking a specific button or entering text in a field.
FieldTypeDescription
URLtextStarting URL (optional)
Action InstructiontextSpecify the single action to perform
Additional fields in Advanced Settings:
FieldTypeDescription
Complete on DownloadswitchMark the block as complete when a file download occurs
File NametextCustom filename for downloaded files
Plus common browser fields.

Extraction

Extract structured data from the current page using AI.
FieldTypeDescription
Data Extraction GoaltextWhat data to extract
Data SchemaJSONJSON Schema defining the output format. Enable the checkbox to reveal the editor. Click Generate with AI to auto-suggest a schema from your extraction goal.
Plus common browser fields.

Login

Authenticate to a website using stored credentials. Pre-filled with a default login goal that handles common login flows including 2FA.
FieldTypeDescription
URLtextLogin page URL
Login GoaltextLogin instructions (pre-filled with a comprehensive default)
CredentialselectorSelect stored credentials for authentication
Additional fields in Advanced Settings:
FieldTypeDescription
Complete if…textHow to know login succeeded
Plus common browser fields.

Go to URL

Navigate the browser directly to a specific URL without AI interaction.
FieldTypeDescription
URLtext(Required) The URL to navigate to. Supports parameter references.
Print the current browser page to a PDF file. The PDF is saved as a downloadable artifact.
FieldTypeDescription
Page FormatselectPaper size: A4, Letter, Legal, or Tabloid
Print BackgroundbooleanInclude CSS background colors and images in the PDF
Headers & FootersbooleanAdd date, title, URL, and page numbers to the PDF
Additional fields in Advanced Settings:
FieldTypeDescription
Custom FilenametextCustom name for the generated PDF
LandscapebooleanUse landscape orientation

Data and Extraction

Text Prompt

Send text to the LLM for processing without browser interaction. Useful for summarizing, transforming, or analyzing data between browser steps.
FieldTypeDescription
PrompttextThe text prompt to send to the LLM
ModelselectorWhich LLM model to use
Data SchemaJSONExpected output structure. Enable the checkbox to reveal the editor. Click Generate with AI to auto-suggest a schema.

File Parser

Parse PDFs, CSVs, Excel files, and images to extract structured data.
FieldTypeDescription
File URLtextURL or parameter reference to the file
Data SchemaJSONSchema for the extracted output. Enable the checkbox to reveal the editor.
ModelselectorWhich LLM model to use

Control Flow

Loop

Repeat a sequence of blocks for each item in a list. Child blocks are placed inside the loop on the canvas.
FieldTypeDescription
Loop ValuetextThe list to iterate over. Use a parameter reference (e.g., {{ my_list }}) or a natural language description (e.g., “Extract links of the top 5 posts”) which triggers automatic extraction.
Continue if EmptybooleanMark the loop as complete if the list is empty
Inside loop blocks, use these reserved variables:
  • {{ current_value }}: the current item
  • {{ current_index }}: the iteration number (0-based)
Loop block configuration

Conditional

Branch the workflow based on conditions. The UI shows branches as tabs (A, B, C, etc.). Each branch has an expression that determines when it executes. Expressions can be Jinja2 templates or natural language prompts.
FieldTypeDescription
BranchestabsOne or more conditions. Each branch has an Expression field. Click + to add branches.
Else branchautoAutomatically added. Executes when no other condition matches.
Example Jinja2 expression:
{{ extraction_output.price > 100 }}
Conditional block configuration

AI Validation

Assert conditions using AI and halt the workflow on failure. Useful for checking that a previous block produced expected results before continuing.
FieldTypeDescription
Complete if…textCondition that means validation passed
Terminate if…textCondition that means validation failed
Additional fields in Advanced Settings:
FieldTypeDescription
Error Code MappingJSONCustom error codes for failure reasons
Input ParametersselectParameters to evaluate

Code

Execute custom Python code. Input parameters are available as global variables. Top-level variables in your code become the block’s output.
FieldTypeDescription
Codecode editorPython code to execute
Input ParametersselectParameters available as globals in the code

Wait

Pause workflow execution for a specified duration.
FieldTypeDescription
Wait in SecondsnumberSeconds to wait (0–300)

Files

File Download

Navigate the browser to download a file.
FieldTypeDescription
URLtextStarting URL (optional)
Download GoaltextInstructions for finding and downloading the file
Download Timeout (sec)numberSeconds to wait for the download to complete
Additional fields in Advanced Settings:
FieldTypeDescription
File NametextCustom filename for the download
Plus common browser fields.

Cloud Storage Upload

Upload downloaded files to S3 or Azure Blob Storage.
FieldTypeDescription
Storage TypeselectAmazon S3 or Azure Blob Storage
Folder PathtextUpload path/prefix (optional)
FieldDescription
S3 BucketBucket name
AWS Access Key IDAWS credential
AWS Secret Access KeyAWS credential
Region NameAWS region
FieldDescription
Storage Account NameStorage account name
Storage Account KeyStorage account key
Blob Container NameContainer name

Communication

Send Email

Send an email notification, optionally with file attachments from previous blocks.
FieldTypeDescription
RecipientstextComma-separated email addresses
SubjecttextEmail subject line
BodytextEmail body. Supports parameter references.
File AttachmentstextPath to files to attach

HTTP Request

Make an API call to an external service. Click Import cURL in the block header to populate fields from a cURL command.
FieldTypeDescription
MethodselectGET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS
URLtextRequest URL. Supports parameter references.
HeadersJSONHTTP headers. Use Quick Headers to add common headers.
BodyJSONRequest body (POST/PUT/PATCH only)
FilesJSONFile uploads (POST/PUT/PATCH only)
Additional fields in Advanced Settings:
FieldTypeDescription
TimeoutnumberRequest timeout in seconds (1–300, default: 30)
Follow RedirectsbooleanAutomatically follow HTTP redirects (default: true)
Continue on FailurebooleanContinue workflow if the request fails
Save Response as FilebooleanSave the response body as a downloadable file
Download FilenametextFilename for the saved response (shown when Save Response as File is enabled)

Human Interaction

Pause the workflow and request human input. Optionally sends an email notification to reviewers.
FieldTypeDescription
Instructions For HumantextInstructions displayed to the reviewer
Timeout (minutes)numberMinutes to wait before auto-continuing (default: 120 minutes / 2 hours)
Email notification fields:
FieldTypeDescription
RecipientstextEmail addresses to notify (comma-separated)
SubjecttextNotification email subject
BodytextNotification email body
Additional fields in Advanced Settings:
FieldTypeDescription
Positive Button LabeltextLabel for the approval action (default: “Approve”)
Negative Button LabeltextLabel for the rejection action (default: “Reject”)