Skip to main content
Agents 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 Cloud UI agent editor, grouped by category. If you’re writing automations in code instead, the equivalent operations are Page and Agent methods. See the Actions Reference for the code-first counterparts to these blocks.
how to add a block to an agent in Skyvern

To add a block in your agent, click the + button, click on Add block, then select the block type from the menu.

Quick reference


Common fields

These fields appear on most blocks: Browser-based blocks (Browser Task, Browser Action, Extraction, Login, File Download) share these additional fields:
Set TOTP Verification URL on the block that may encounter 2FA. Top-level workflow run totp_url values do not automatically populate empty block fields.

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 uses Skyvern 1.0 by default. Existing agents that already contain V2 browser blocks remain editable and may show a reduced field set. Skyvern 1.0: Existing V2 blocks: Additional fields in Advanced Settings (Skyvern 1.0 only): Plus common browser fields.
Browser Task block configuration with URL and prompt 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. Additional fields in Advanced Settings: Plus common browser fields.

Extraction

Extract structured data from the current page using AI. Plus common browser fields.
Extraction block configuration with Data Extraction Goal and Data Schema fields

Login

Authenticate to a website using stored credentials. Pre-filled with a default login goal that handles common login flows including 2FA. Additional fields in Advanced Settings: Plus common browser fields.
Login block configuration with URL, Login Goal, and Credential fields

Go to URL

Navigate the browser directly to a specific URL without AI interaction.
Go to URL block configuration with URL field
Print the current browser page to a PDF file. The PDF is saved as a downloadable artifact. Additional fields in Advanced Settings:
Print Page block configuration with page format, print background, and headers & footers options

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.
Text Prompt block configuration with Prompt, Model, and Data Schema fields

File Parser

Parse PDFs, CSVs, Excel files, and images to extract structured data.
File Parser block configuration with File URL, Data Schema, and Model fields

Control Flow

Loop

Repeat a sequence of blocks for each item in a list. Child blocks are placed inside the loop on the canvas. Inside loop blocks, use these reserved variables:
  • {{ current_value }}: the current item
  • {{ current_index }}: the iteration number (0-based)
Loop block configuration
Use Loop when the item list is already known before the loop starts, such as rows extracted from a table, files uploaded by a user, or URLs passed as agent parameters.

While Loop

Repeat a sequence of blocks while a condition remains true. Child blocks are placed inside the loop on the canvas. Inside while-loop blocks, use these reserved variables:
  • {{ current_index }}: the iteration number (0-based)
Use While Loop for flows where the number of iterations is discovered during the run, such as pagination, polling, or retrying until a recoverable page state clears. For pagination, a common pattern is to extract a has_next_page boolean inside the loop, click Next, and let the next condition check decide whether to continue.

Conditional

Branch the agent 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. Example Jinja2 expression:
Conditional block configuration with branch expressions

AI Validation

Assert conditions using AI and halt the agent on failure. Useful for checking that a previous block produced expected results before continuing. Additional fields in Advanced Settings:
AI Validation block configuration with Complete if and Terminate if fields

Code

Execute custom Python code. Input parameters are available as global variables. Top-level variables in your code become the block’s output.
Code block configuration with Python code editor and Input Parameters field

Wait

Pause agent execution for a specified duration.
Wait block configuration with Wait in Seconds field

Files

File Download

Navigate the browser to download a file. Additional fields in Advanced Settings: Plus common browser fields.
File Download block configuration with URL, Download Goal, and Download Timeout fields

Cloud Storage Upload

Upload downloaded files to S3 or Azure Blob Storage.
Cloud Storage Upload block configuration with Storage Type and Folder Path fields

Communication

Send Email

Send an email notification, optionally with file attachments from previous blocks.
Send Email block configuration with Recipients, Subject, Body, and File Attachments fields

HTTP Request

Make an API call to an external service. Click Import cURL in the block header to populate fields from a cURL command. Additional fields in Advanced Settings:
HTTP Request block configuration with Method, URL, Headers, and Body fields

Human Interaction

Pause the agent and request human input. Optionally sends an email notification to reviewers. Email notification fields: Additional fields in Advanced Settings:
Human Interaction block configuration with Instructions For Human and Timeout fields