HuluFlow · Browser extension

Chrome extension: complete beginner guide

No code, no crawler jargon — describe what you want from the page you already have open, then save a repeatable job in three steps.

If words like workflow, scrape, or dataset are new to you, that is fine. This page assumes you only know how to browse the web. The goal: open a product list or article index, turn titles, prices, and links into a table, and view or export it on huluflow.com anytime. The extension is a small panel on the right side of Chrome; it does not modify the page you are viewing.

Audience: complete beginners. You need Chrome, a free HuluFlow account, and a public page you are allowed to collect (one that opens without logging in).

~20 minutes Install the extension, complete your first save, and run a job from the Workflows tab
  1. Install & sign in
  2. Analyze fields
  3. Pick & save
  4. Run in extension
  5. View data
  6. Pause / schedule

What does the extension actually do?

Imagine building a spreadsheet with columns Title, Price, and Link — one row per product. Copy-paste is slow. The extension lets you describe those columns in plain language, reads the current page to find them, then builds an automated pipeline you can run again manually or on a schedule.

Compared with the web console (the full canvas editor), the extension is best when you are already looking at the page you care about. Scheduling, email alerts, and deep edits still happen in the console; the extension gets you started fast.

You do not install Python, write CSS selectors, or learn XPath. The extension reads the current page HTML and uploads it to HuluFlow for field discovery (same AI as the console). When you run, extraction happens in background browser tabs using XPath, and rows stream into your dataset.

The extension handles “start from the page you have open + run scrapes in the browser.” The console handles graph edits, schedules, cloud runs, and export. Both share the same account, workflows, and datasets.

Important: only collect data you are allowed to use. Sites that require login, CAPTCHA, or forbid scraping may fail — that is intentional, not a bug.

Before you start, check these

For your first try, pick a simple public list page (book catalog, open product directory). Once that works, switch to harder sites.

  • 01 Chrome or a Chromium browser (Edge may work; confirm extension support yourself).
  • 02 A huluflow.com account (free tier includes 20 webpage requests per month; saving workflows is free).
  • 03 A practice URL that opens in a private window without logging in.
  • 04 A clear wish list of columns in everyday words, e.g. title, price, product link.
  • 05 If corporate policy blocks extensions, ask IT to allow Chrome extensions.
  • 06 Saved workflows should include a scrape → store connection; otherwise runs cannot persist rows.

Words you will see

These appear in the panel and console. Skim once — no memorization required.

Workflow — a saved scrape plan with a name; editable in the console.

Field — a table column (title, price, url); shown as checkboxes after analysis.

Analyze — read the current page and propose columns; not a full-site harvest yet.

Dataset — the table where rows land; browse under Console → Datasets, export CSV.

List page / detail page — list = many items on one page; detail = one product’s long page.

Credits — 1 credit per webpage request during a run; saving does not spend credits.

Run — execute the workflow once, manually or on a schedule.

Side panel — the extension UI docked to the right; Current page URL updates when you change tabs.

Run in extension — start a scrape from the Workflows tab; background tabs, pause/resume, good for many URLs.

Checkpoint — during streaming runs, the extension sends progress to the server every few rows (default batch of 5) so data lands incrementally.

Two tabs: Build vs Workflows

The top bar has two main tabs. First-time setup mostly uses Build; day-to-day runs mostly use Workflows.

  1. Build

    On the page you have open: describe columns → analyze → three-step wizard → save (optionally run once). Best for creating a new job from scratch.

  2. Workflows

    Lists saved workflows in your account. For each job: Run in extension, Pause, Resume, or Load here to edit in Build and save again.

  3. Which tab when?

    New site or layout change → Build + Re-analyze. Already configured and you need a batch or repeat run → Workflows → Run in extension. Schedules still live in the console.

What the panel looks like

Top to bottom. Gray or missing blocks usually mean you are not signed in or have not analyzed yet.

  1. 01 Top bar: brand, Build / Workflows, language

    Build creates new jobs; Workflows lists saved ones. EN / 中 switches UI language (Chinese shows 葫芦流).

  2. 02 Sign-in banner

    Prompts you to log in on huluflow.com; shows your email when the session is detected. No separate extension password — shares browser cookies with the site.

  3. 03 Current page + Help link

    Shows the active tab URL; Help opens this doc. After switching tabs, re-analyze if the URL changed.

  4. 04 Requirement + Analyze button

    Describe columns in plain language, click Analyze this page. Progress shows capture, upload, and field discovery.

  5. 05 Stepper 1 → 2 → 3

    After analysis: ① Review fields ② Pick a workflow ③ Name and save. Click step numbers to jump; Next at the bottom.

  6. 06 Build tab: fixed footer buttons

    Steps 1–2 show Next; step 3 shows Save workflow. Header and footer stay visible while scrolling.

  7. 07 Workflows tab: list and run controls

    Each workflow shows name, status (active/paused), node count, last run time. While running, a progress badge appears (e.g. detail 3/10). Buttons: Open in console, Load here, Run in extension, Pause, Resume.

  8. 08 Settings (⚙)

    Change Server URL (default https://huluflow.com — only for self-hosted) and UI language. Click Save; sign-in still depends on browser cookies.

What the three steps mean

Think: confirm columns → pick an automation template → name and save.

Step You do You get
① Review fields Tick columns; swipe sample preview cards A clear column list for your table
② Choose workflow Pick a recommendation; tune page range or dataset name A runnable pipeline sketch in your account
③ Name & save Required workflow name; optional run immediately Workflow in your account; open console to edit further

Walkthrough: zero to first save

Keep a practice list page open while you read. Use “What you should see” and “If stuck” under each step.

  1. 01

    Install and open the side panel

    Install from the Chrome Web Store (search HuluFlow), or load unpacked during development via chrome://extensions → Developer mode → Load unpacked.

    Click the toolbar icon → Open side panel. Pin the icon for quick access.

    The panel is narrow; widen the browser window to read preview cards comfortably.

    What you should see: Panel opens with Build / Workflows tabs at the top.

    If you get stuck: If Side panel is missing, update Chrome or reload the extension.

  2. 02

    Register and sign in

    No account yet? Open huluflow.com/register in a new tab and verify your email.

    In the panel, click Log in → sign in on the site → return. Banner should show Signed in and your email.

    Still signed out? Check Settings → Server URL is https://huluflow.com (change only for self-hosted).

    What you should see: Banner shows your email; Log in button hides.

    If you get stuck: Session uses browser cookies. Cleared cookies → log in again.

  3. 03

    Describe and analyze (before step ①)

    Open your practice list page; confirm Current page URL at the top of the panel.

    In the requirement box, list columns in everyday words, e.g. title, price, link.

    Click Analyze this page and wait for progress to finish (often 15–60 seconds).

    What you should see: Stepper 1-2-3 appears; you land on step ① with a List or Detail badge.

    If you get stuck: Keep the tab reachable; heavy sleep/throttling can slow capture.

  4. 04

    Step ① — Review what to collect

    Under What to collect, fields are pre-checked. Uncheck any column you do not want.

    Swipe Preview cards horizontally to verify real sample rows — titles and prices in the right columns.

    On list pages with product links, the extension may analyze a sample detail page in the background for better step ② recommendations — brief “Checking detail page…” is normal.

    What you should see: Preview matches checked fields; obvious blanks mean change requirement or URL.

    If you get stuck: Field names come from the page (often English); UI language does not translate them.

  5. 05

    Step ② — Choose a workflow

    Click Next to see recommendation cards: single page, pagination batch, list→detail, etc.

    Pick the closest match. Tune page range, dataset name, or notify email if shown.

    Dataset name auto-fills from the site; rename to something you will recognize in Console → Datasets.

    What you should see: Selected card is highlighted; page range is sensible (not hundreds of pages at once).

    If you get stuck: Unsure? Pick the simplest single-page scrape first; add pagination in the console later.

  6. 06

    Step ③ — Name, save, optionally run

    Workflow name is required, e.g. Practice book list Mar 2026. The extension will not auto-fill.

    Tick Run immediately to scrape once right after save (spends credits). Good for a quick first check.

    Click Save workflow. If you ran immediately, the browser scrapes once with a single payload (good for validation). If not, go to Workflows → Run in extension for the full run.

    What you should see: New workflow in Console → Workflows; if you ran immediately, the Build tab shows how many rows were collected.

    If you get stuck: Saving is free. Both Run immediately and Run in extension spend scrape credits (about 1 credit per webpage request).

  7. 07

    Workflows tab — Run in extension

    Switch to Workflows, find your saved job, click Run in extension. The extension opens URLs in background tabs (you do not need the original list page in front). The top shows Running and progress.

    This uses streaming mode: server creates a Run → checkpoints rows in batches → finish when done. Refresh the dataset in the console to see rows appear.

    While running, click Pause to close the active scrape tab and save progress; click Resume to continue from the checkpoint. Only one active job per workflow at a time.

    What you should see: Progress badge updates; completion shows row count or partial/error; dataset row count grows in the console.

    If you get stuck: For large jobs (multi-page lists, list→detail), prefer Run in extension over Run immediately — pause and streaming storage are supported.

How does Run in extension work?

Run in extension is the formal scrape path on the Workflows tab. Unlike Run immediately on the Build tab, it supports many URLs, pause/resume, and large payloads.

  1. 1. Start Run

    On Run in extension, the extension POSTs /run/start, creating a WorkflowRun and spending 1 start credit.

  2. 2. Background tab scraping

    Background executes the graph in order: URL generation → scrape node. For each URL it opens a background tab and uses a content script with XPath (pagination: page links, infinite scroll, load more).

  3. 3. Streaming checkpoint storage

    Every batch of rows (default 5) triggers POST /run/{id}/checkpoint; the server upserts into the dataset linked to the store node. You can view data before the full run finishes.

  4. 4. Finish

    When all URLs are done, POST /run/{id}/finish runs remaining nodes (store may skip if already written, notify, etc.) and marks the Run ok/partial/error.

  5. 5. Pause and resume

    On pause: abort the current tab, save checkpoint (completed_urls, next_index). Resume continues from the checkpoint without re-inserting rows. Pause state syncs to the server.

  6. 6. Prerequisites

    Graph must have scrape → store wired; otherwise checkpoints are dropped. Enough credits; signed in; Background not killed by the browser (keep Chrome open for long runs).

Technical note: Run in extension uses start → checkpoint × N → finish, not a single bulk POST /run. The console Run button uses the cloud crawld path without the extension.

Two run modes compared

Run immediately (Build tab) Run in extension (Workflows tab)
Scrape right after save in the browser Start anytime on a saved workflow; no foreground page required
Single browser_payload submission Streaming checkpoints, default every 5 rows
No pause or progress badge Pause/resume; list shows progress and status

Settings

Click ⚙ in the top bar to open Settings.

  • 01Server URL: huluflow.com or your self-hosted instance; must match the site you log in on or cookies will not sync.
  • 02Language: switches UI strings and the Help doc link (/zh/ vs /en/ paths).

After saving, what next?

The extension finished “zero to one.” Day-to-day scraping, graph edits, schedules, and export mostly happen in the console.

  • 01 Workflows tab → Run in extension: formal, pausable batch runs for saved jobs.
  • 02 Console → Datasets: browse, paginate, export CSV/JSON, delete a row, or clear all rows.
  • 03 Console → Workflows → Open: edit the graph, set interval_minutes for schedules, add email notify.
  • 04 Workflows tab → Load here: bring a saved job into Build, change fields or template, save as a new version.
  • 05 After layout or URL changes: Re-analyze in Build; do not blindly re-run old configs.
  • 06 For pure cloud scraping (no browser tabs): click Run in the console; crawld executes on the server.

Beginner FAQ

Do I need to code?

No. Buttons and plain-language descriptions are enough. API docs are only for integrating your own software.

Extension vs console?

Same account, same workflows and datasets. Extension = quick start; console = full editor.

Does analyze cost credits?

Field discovery does not spend scrape credits. Credits deduct when a run’s scrape nodes request pages.

Why are field names in English?

They mirror page structure or AI naming. Rename columns in the console or fix headers after export.

Can I scrape login-only sites?

v1 targets public pages. Logged-in tabs sometimes work but are not guaranteed — only collect what you may legally use.

I switched tabs but data looks stale

Check Current page URL; if it changed, click Re-analyze.

Must I type a workflow name?

Yes — required, never auto-filled, so you can find the job later.

Browsers other than Chrome?

Chrome is official. Chromium browsers may work; Safari/Firefox are not supported.

Run in extension vs Run immediately?

Run immediately is a quick post-save test (current page, one payload). Run in extension is for many URLs, pause/resume, and streaming storage — start it from the Workflows tab.

Why is my dataset empty after a run?

Common causes: no store node or missing scrape→store link; wrong fields; site layout changed; out of credits. Open that Run’s node output in the console and check failures.

Run in extension vs cloud scheduled run?

Run in extension opens tabs in your Chrome (keep Chrome open). Cloud worker/crawld runs on the server — better for schedules when your computer is off.

Something went wrong

Most issues are wrong page type or not signed in. Try these first.

Analyze spins or fails

Check sign-in, network, login walls/CAPTCHA, oversized pages. Retry on a simpler public list.

Please log in first

Log in on huluflow.com in a tab, return, reopen panel. Verify Server URL.

Preview empty or wrong

Rewrite requirement text; pick a cleaner list page; wait for dynamic content to load.

Saved but run returned 0 rows

Open run detail in the console and check failures. Common: missing store node, wrong fields, site change, HTTP 402. If Run in extension shows 0 rows but failures exist, inspect those URLs.

Language toggle does not update brand

After EN/中, title should match language. Reload extension if stuck.

“This workflow is already running”

Only one running/queued job per workflow. Check the Workflows tab for a stuck running or pausing job; wait or pause before retrying. Refresh the list if needed.

Pause does not stop scraping

On current builds, pause closes the active scrape tab. You may wait for the current page load/extract to finish (usually seconds). Reload the extension and retry.

Cannot connect to page / Receiving end does not exist

Refresh the target page and retry. Run in extension opens background tabs automatically — it does not rely on a pre-injected content script on your foreground tab. Check extension permissions if it persists.

On failure, open that run’s node error — do not guess from the workflow list alone.

Pre-save checklist

Tick all before Save workflow for the best first run.

  • 01 Practice URL opens without login in a private window
  • 02 Panel banner shows signed-in email
  • 03 Current page URL matches the page you want
  • 04 Step ① preview looks correct
  • 05 Step ② picks a sensible template and dataset name
  • 06 Step ③ name filled; enough credits if running now
  • 07 Workflow template includes a store node (recommended templates add it automatically)
  • 08 For real batch runs: after save, use Workflows → Run in extension instead of only Run immediately

What next

After your first save and a successful Run in extension, read Getting started for the console tour, Workflows & nodes for schedules and alerts, or Concepts for runs and datasets.