No-code Automations

Build automations that pull data from any page into Google Sheets when you use on a website—no code. Start with a template, map columns, and run.

No-code Automations Overview - Visual builder interface showing drag-and-drop blocks for creating data processing workflows

The no-code automation builder provides a drag-and-drop interface where you can visually create data processing workflows without writing any code. Think of it like building with building blocks - each block has a specific purpose, and you connect them together to create complex data processing workflows to save time.

Learn more about Automations in the launch blog post.

See Automations in Action

Watch how easy it is to set up and use automations:

Page Content Automations

Whole-page extraction for tables, lists, and bulk data

Process the entire webpage content. Save everything you need from a page as one complete row, or many rows, at once.

How to Use:

Page Content automations can be triggered using keyboard shortcuts (assign custom shortcuts for quick access) or accessed through the extension's side panel. Once you've built and saved your automation, you can run it from either location.

Best For:

Perfect for email extraction from contact pages, product data collection from e-commerce sites, article content processing, and any bulk data extraction tasks where you need to create a row from different parts of content on the page.

Right Click Automations

One-off captures from selected text, links, or image URLs

Create automations that work with selected text, images, links, or other specific page elements. Perfect for quick, targeted data extraction and processing.

How to Use:

Right Click automations are available from the right-click menu once you've saved them. Simply right-click on any page element and select your automation from the context menu.

Best For:

Ideal for quick text saving and formatting, image URL and metadata extraction, link processing and saving, and any targeted content capture where you want to work with specific selected elements rather than processing entire pages.

Using the Automation Builder

Getting Started

Click "Add Automation" to start building your workflow.

Page Content Automations

Page Content Block - Configuration interface for extracting webpage content

Right-Click Automations

Right-Click Block - Configuration interface for selected text and elements
  1. 1 Give your automation a descriptive name
  2. 2 Drag blocks from the sidebar and connect them together
  3. 3 Start with an Input block, add Process and Structure blocks, end with Save to Sheets
  4. 4 Save your automation and use it with keyboard shortcuts or right-click menus

Block Types

Input Blocks

Page Content

Extract content from the current webpage with different content types available.

Page Content Block - Configuration interface for extracting webpage content
Content Types:
  • All Content (Text Only): Plain text from the entire page
  • Full HTML Document: Complete HTML including head and body
  • HTML Head Section: Just the head section with metadata
  • HTML Body Section: Just the body content

Right-Click

Use selected text from webpage with different context types available.

Right Click Block - Configuration interface for selected text and context
Context Types:
  • Page: Current page context
  • Selection: Selected text content
  • Link: Link URL and text
  • Editable: Form input content
  • Image: Image source and alt text
  • Video: Video source and metadata
  • Audio: Audio source and metadata
What it does:

Captures selected text and webpage context for quick data capture and targeted information gathering.

Process Blocks

Find

Finds specific patterns in text like email addresses, headings, links, and metadata for data extraction.

Find Block - Configuration interface for pattern matching and data extraction
Pattern Types:
  • Email: Extract email addresses using regex patterns
  • CSS Selectors: Target specific HTML elements with selectors
  • Headings: Extract heading text (H1, H2, H3, etc.)
  • Links: Find all links and their URLs
  • Metadata: Extract page metadata (title, description, Open Graph, etc.)
  • Images: Find image sources and alt text
CSS Selector Modes:
  • Text Mode: Extract text content from elements
  • HTML Mode: Extract inner HTML content
  • Full Element Mode: Extract complete HTML elements
  • Attribute Mode: Extract specific attribute values
CSS Selector Reference:

Need help with CSS selectors? Check out our comprehensive CSS Selector Reference below for all available selectors, syntax examples, and practical tips.

Filter

Clean up your data by removing duplicates, setting length limits, and applying string matching rules.

Filter Block - Configuration interface for data cleaning and filtering
Filter Options:
  • Remove Duplicates: Eliminate duplicate entries
  • Length Limits: Filter by minimum/maximum length
  • String Matching: Include/exclude based on text patterns
  • Empty Values: Remove or keep empty entries

Text Transform

Cleans and formats text by changing case, removing extra spaces, and processing HTML for better readability.

Text Transform Block - Configuration interface for text cleaning and formatting
Transformation Types:
  • Case Changes: Uppercase, lowercase, title case
  • Whitespace: Trim, clean multiple spaces and line breaks
  • HTML Processing: Remove HTML tags and decode entities
  • Text Replacement: Find and replace with custom values

Custom Value

Adds the same value to every row in your spreadsheet, like today's date, page URL, or any custom text.

Custom Value Block - Configuration interface for adding static values and formulas
Value Types:
  • Manual Input: Enter any text, numbers, or special characters
  • Google Sheets Formulas: Use functions like =TODAY(), =NOW(), =RAND()
  • Page Variables: {{page_url}}, {{page_domain}}, {{page_path}}
  • Multi-line Support: Add multiple lines of text

Structure Blocks

Split

Breaks down text into separate items by splitting on commas, spaces, or line breaks for better organization.

Split Block - Configuration interface for breaking text into separate items
Split Types:
  • Delimiter: Split by custom character or string (default: comma)
  • Whitespace: Split by any sequence of whitespace characters
  • Lines: Split by line breaks (handles all line ending types)
Options:
  • Trim Results: Remove leading/trailing whitespace
  • Remove Empty: Filter out empty strings
  • Custom Delimiter: Use any character or string

Combine

Combines separate items into a single text using commas, spaces, or custom separators for easier handling.

Combine Block - Configuration interface for merging text with delimiters
Features:
  • Join Functionality: Merge separate items into single text
  • Custom Delimiters: Any character or string separator
  • Default Delimiter: ', ' (comma and space)
  • Single Input: Accepts exactly one input connection

Table

Extracts table data from webpages and formats it for easy import into spreadsheets with rows and columns.

Table Block - Configuration interface for extracting HTML table data
Selection Methods:
  • CSS Selector: Target specific tables with selectors (e.g., table.data-table)
  • Table Index: Select table by position on page (1st, 2nd, 3rd, etc.)
Options:
  • Include Headers: Use first row as column headers
  • Max Rows/Columns: Control extraction limits
  • Table Output: Returns organized data ready for Google Sheets

Output Blocks

Save to Sheets

Saves your processed data to Google Sheets with column mapping and handles multiple rows efficiently.

This block is the last block in your automation. It's where you save your processed data to Google Sheets. Each input will be availabe to map to a column in your spreadsheets

Save to Sheets Block - Configuration interface for Google Sheets integration and column mapping
What It Does:
  • Visual Column Mapping: Drag-and-drop interface for mapping data to columns
  • Smart Auto-Mapping: Automatically map table data to consecutive columns
  • Non-Contiguous Columns: Handle gaps between mapped columns (A, C, E)
  • Conflict Prevention: Prevent multiple blocks from mapping to same column
  • Batch Operations: Efficient handling of single and multiple rows
Data Handling:
  • Single Row Mode: One row per execution
  • Multiple Rows Mode: Process multiple items at once
  • Flexible Columns: Handle data in any column position
  • Smart Placement: Automatically find the best column for your data

Templates: Jumpstart Your Automations

Templates can be imported, configured, and used to jumpstart your automation creation. Browse pre-built workflows for common use cases and customize them for your specific needs.

Suggest a Template

Have an idea for a useful automation template? Let us know!

Template Import Modal - Browse and import pre-built automation templates

CSS Selector Reference

Use these CSS selectors with the Find block to target specific elements on webpages. Selectors help you extract exactly the data you need from HTML elements.

Selector Type Syntax Description & Example
Basic Selectors
Type (Element) div, p, h1 Select elements by tag name. div selects all div elements
ID #id Select element by ID. #header selects element with id="header"
Class .class Select elements by class. .button selects all elements with class="button"
Universal * Select all elements. * selects every element on the page
Selector Lists A, B, C Select elements matching any selector. h1, h2, h3 selects all headings
Combinators
Descendant A B Select B inside A. div p selects all p elements inside div
Child A > B Select direct child B of A. div > p selects p elements directly inside div
Parent A < B Select direct parent A of B. div < p selects divs that are direct parents of p
Adjacent Sibling A + B Select B immediately after A. h1 + p selects p immediately after h1
General Sibling A ~ B Select B after A (same parent). h1 ~ p selects all p elements after h1
Attribute Selectors
Existential [attr] Select by attribute existence. [data-id] selects elements with data-id attribute
Equals [attr="value"] Exact attribute value. [type="email"] selects input type="email"
Word Match [attr~="value"] Attribute contains word. [class~="active"] selects elements with class containing word "active"
Hyphen Match [attr|="value"] Attribute starts with value followed by hyphen. [lang|="en"] matches "en" or "en-US"
Contains [attr*="value"] Attribute contains value anywhere. [class*="btn"] selects elements with class containing "btn"
Starts With [attr^="value"] Attribute starts with value. [id^="user-"] selects elements with id starting with "user-"
Ends With [attr$="value"] Attribute ends with value. [href$=".pdf"] selects links ending with ".pdf"
Not Equal [attr!="value"] Attribute not equal to value. [type!="hidden"] selects inputs that are not hidden
Case Insensitive [attr="value" i] Case-insensitive match. [class="button" i] matches "Button", "BUTTON", etc.
Case Sensitive [attr="value" s] Case-sensitive match. [class="Button" s] only matches exact case
Pseudo-selectors
Not :not(selector) Select elements that don't match. p:not(.hidden) selects p elements without class="hidden"
Contains :contains("text") Select elements containing text. p:contains("Hello") selects paragraphs containing "Hello"
Contains (Case-insensitive) :icontains("text") Case-insensitive text match. p:icontains("hello") matches "Hello", "HELLO", etc.
Has :has(selector) Select elements that have descendants. div:has(p) selects divs containing p elements
Root :root Select the root element. :root selects the html element
Empty :empty Select elements with no children. div:empty selects empty div elements
Child Selectors
First Child :first-child Select first child element. li:first-child selects first li in list
Last Child :last-child Select last child element. li:last-child selects last li in list
Only Child :only-child Select only child element. p:only-child selects p elements that are the only child
First of Type :first-of-type Select first element of its type. p:first-of-type selects first p element
Last of Type :last-of-type Select last element of its type. p:last-of-type selects last p element
Only of Type :only-of-type Select only element of its type. h1:only-of-type selects h1 if it's the only h1
Nth Child :nth-child(n) Select nth child. li:nth-child(2) selects 2nd li element
Nth Last Child :nth-last-child(n) Select nth child from end. li:nth-last-child(1) selects last li element
Nth of Type :nth-of-type(n) Select nth element of same type. p:nth-of-type(2) selects 2nd p element
Nth Last of Type :nth-last-of-type(n) Select nth element of type from end. p:nth-last-of-type(1) selects last p element
Link Selectors
Any Link :any-link Select all link elements. :any-link selects all a elements with href
Link :link Select unvisited links. :link selects unvisited link elements
Visited :visited Select visited links. :visited selects visited link elements
Hover :hover Select elements being hovered. :hover selects elements under mouse cursor
Active :active Select elements being activated. :active selects elements being clicked
Form Selectors
Checked :checked Select checked inputs/options. :checked selects checked checkboxes and radio buttons
Disabled :disabled Select disabled inputs. :disabled selects disabled form elements
Enabled :enabled Select enabled inputs. :enabled selects enabled form elements
Required :required Select required inputs. :required selects required form elements
Optional :optional Select optional inputs. :optional selects non-required form elements

💡 Tips:

  • • Use browser developer tools (F12) to test selectors before using them in automations
  • • Combine selectors for more specific targeting: div.product-card h3.title
  • • Use :nth-child() to select specific items from lists or tables
  • • Attribute selectors are powerful for finding elements with specific data attributes
  • • Use :contains() and :icontains() to find elements by their text content
  • • The :has() selector is great for finding parent elements that contain specific children
  • • Case-insensitive matching with [attr="value" i] is useful for flexible matching
  • • Use :not() to exclude elements you don't want to select