TaskPilot helps you record the clicks and keystrokes you do in a browser and play them back later — no scripting required. This guide walks through installing it, building your first workflow, running it, and fixing problems when they come up.
What is TaskPilot?
TaskPilot is a Chrome extension. It opens in a side panel next to whatever website you are using. You point at things on the page, pick what you want to do (click, copy text, type something, save a value), and TaskPilot stores those steps as a workflow. Press Run and TaskPilot replays the steps for you.
Good fits
- Filling in the same form again and again on a portal.
- Copying values from a page into a spreadsheet.
- Doing the same login or navigation steps every morning.
- Walking through a checklist that needs a person to approve a step in the middle.
Not a good fit
- Scraping huge amounts of data without a person watching.
- Bypassing logins, paywalls, or rate limits on a website.
- Anything that has to run while your computer is asleep or Chrome is closed.
How it works at a glance
- You open the side panel and create a workflow.
- You add steps. For most steps you point at something on the page.
- You press Run. TaskPilot does each step in order on the active tab.
- If a step needs a person (signing in, approving), use Pause for user.
- When the run finishes, you can save collected values to a CSV file.
Key ideas
- Workflow
- A named list of steps. Workflows are saved in your browser. You can have several and pick one each time.
- Step (also called an action)
- One thing TaskPilot does, like “click this button” or “copy the text I pointed at.” Each step has a short label so you can refer to it later.
- The picker
- A small mode that highlights things on the page when you hover. Click the thing you want to use, or press Esc to cancel.
- Run
- Pressing Run tells TaskPilot to play back the steps in order on the tab you are looking at.
- Pause for User
- A special step that stops the run with a message and waits for you to click Resume. Use it for sign-in codes, approvals, anything that needs a human.
- Variables and step labels
-
When you copy text from a page or set a value, TaskPilot remembers it under the step’s
label. You can drop that value into a later step by typing
{{stepName}}— the double curly braces are how TaskPilot fills it in.
Install
What you need
- Google Chrome on a desktop computer (Windows, macOS, or Linux).
- Internet access for any step that loads a page or uses an AI step.
- If you are on a Pro or Max plan, your subscription information from your account.
Install the extension
A public Chrome Web Store listing is on the way. Until then, you will receive a folder with the extension files.
- In Chrome, go to
chrome://extensions. - Turn on Developer mode in the top-right corner.
- Click Load unpacked and pick the TaskPilot folder you received.
- Find TaskPilot in your extensions list and click the pin icon so its button shows next to the address bar.
- Click the TaskPilot button to open the side panel. The side panel is where you build and run workflows; it stays open while you use Chrome.
Your first workflow
Here is a small example: copy the headline from a news article into your clipboard. It uses two steps, takes about five minutes, and works on most pages.
- Open a news article in a tab.
- Click the TaskPilot button to open the side panel.
- Click + New workflow, type a name like “Copy headline”, and click Create.
- Click + Add step.
- Type a short Step label like headline. The label is how you will refer to this step later.
- In the Action dropdown, choose Copy text.
- Click Pick from page. Move your mouse to the article’s headline. TaskPilot will outline whatever you hover. Click the headline once to lock it in.
- You should see the chosen element under Element. If you grabbed the wrong thing, click Pick from page again.
- Click Save at the bottom of the step editor.
- Add a second step. Choose Copy to clipboard, click Pick from page, and pick the same headline. Save the step.
- Click ▶ Run. The two steps will run on the active tab. The headline should now be on your clipboard — try pasting it into another app.
That’s the basic loop: name a workflow, add steps, point at things, run. The next sections explain everything else you can do.
Manage workflows
The first screen in the side panel is your Workflows library. Each row is a saved workflow. Click a row to open it, or use the buttons at the top to create or change workflows.
Create a workflow
- Click + New workflow.
- Type a Workflow name.
- Click Create to open the new workflow, or Cancel to back out.
If you leave the name blank, TaskPilot says “Enter a workflow name.”
Open a workflow
Click any workflow row in the list. The detail view shows the workflow’s steps, settings, and the run controls.
Rename, duplicate, or delete a workflow
From inside a workflow, the small icon buttons at the top do the following:
- Rename workflow — turns the title into an editable field with Save / Cancel.
- Duplicate workflow — makes a copy with the same steps. Useful when you want to tweak a workflow without losing the original.
- Delete workflow — click once to arm, click Confirm within a few seconds to actually delete. If you change your mind, click anywhere else; the confirm goes away.
Workflows are stored in your browser, not in the cloud. If you uninstall TaskPilot or wipe Chrome data, the workflows go too.
Build a workflow
Inside a workflow you build a list of steps. Each step has a label and an action. Some actions need you to pick something on the page; others just need text or a number.
Add a step
- Open the workflow.
- Click + Add step at the bottom of the step list.
- Pick an action from the Action dropdown. The fields below it change to match.
- Fill in the fields. If a field is required and empty, TaskPilot highlights it in red and shows a message at the bottom-right.
- Click Save to add it to the workflow, or the back arrow to cancel.
On the free Core plan you can have up to 4 steps per workflow. The button changes to Upgrade for more steps → once you hit the limit. See Plans and limits.
Reorder, edit, and delete steps
- Reorder: grab a step by the small grip handle on its left and drag it up or down (Drag to reorder).
- Edit: click a step row to open its editor.
- Duplicate: in the step editor or row, use the duplicate icon (Duplicate step).
- Delete: click the trash icon (Delete step), then click again to confirm (Click again to confirm delete).
Step label and the {{ }} trick
Every step has a Step label. It must be short, unique inside the workflow, and ideally describes what the step does. The label matters because of one trick: you can drop a value from one step into a later step.
For example:
- A Copy text step labeled headline reads the headline.
- A Set variable step uses the value
Today's headline: {{headline}}. - When the workflow runs, TaskPilot replaces
{{headline}}with the actual headline.
You can use the same trick in Navigate URLs, in Paste text static values, and in Add to CSV column sources.
Advanced settings on a step
Every step has an Advanced section near the bottom of the editor:
- Override step timeout + Timeout (ms) — how long TaskPilot will wait for this step before giving up. Default is 10 000 ms (10 seconds). Increase it for slow pages.
- Continue run if this step fails — normally a failed step stops the run. Turn this on for steps that are nice-to-have. The run will keep going and the failure shows up as a warning.
- Disable step (skip when running) — keep the step in the workflow but skip it on the next run. Useful while you debug. Disabled steps show with a strikethrough.
The picker
When a step needs an element on the page, click Pick from page. TaskPilot adds a purple outline around whatever your mouse is over. Click the element you want, or press Esc to cancel. The chosen element shows up in the editor under Element.
If you grabbed the wrong thing:
- Click Pick from page again to redo the selection.
- Click Clear selection to remove it.
- If the picker gets stuck, switch tabs and come back, or press Esc on the page.
Workflow settings
Each workflow has a small settings card titled Workflow settings — Multi-page sites, loop inputs. Click the heading to expand it. You only need this when a workflow goes across pages or repeats over a list.
Works across multiple pages
Turn this on if your workflow visits more than one URL on the same site. Without it, a step you recorded on page A may not match the same element on page B. With it on, TaskPilot is more flexible about where on the site a step can run.
Loop inputs
A multi-line text box. Each line becomes one run of the workflow. While the workflow runs,
the current line is available as {{input}} — you can drop it into a
Navigate URL, a Paste text step, or anywhere
{{ }} works.
The status text under the box tells you the state:
- No loop input list configured. — the box is empty.
- {n} input(s) loaded — you have N lines, and the workflow will run N times.
See Loops and repeating work for a full walkthrough.
Steps you can add
Every step uses the same template below. Click the small i button next to Action in the side panel for the in-app version of the same notes.
Click around the page
Click
- What it does: clicks the element you pointed to, like a regular left-click.
- When to use it: submitting a form, opening a menu, expanding a section, hitting a button.
- What you fill in: a step label, then Pick from page the button or link.
- Things that can go wrong: “Target not found for click.” (the page changed and the element is no longer there) or “Timed out waiting after click.” (the next step expected something that never appeared — consider adding a Wait for selector step after).
Scroll into view
- What it does: scrolls the page so the element you picked is visible.
- When to use it: long pages where the next click is below the fold.
- What you fill in: just Pick from page the element.
- Things that can go wrong: the element isn’t on the page yet — add a Wait for selector first.
Scroll by
- What it does: scrolls the window up or down by a number of pixels.
- When to use it: infinite-scroll feeds, long lists.
- What you fill in: Pixels (negative scrolls up).
- Things that can go wrong: not much — this is a simple action.
Read text from the page
Copy text
- What it does: reads the visible text from the element you picked and stores it under the step’s label.
- When to use it: grabbing a name, price, status, or any value displayed on screen.
- What you fill in: a step label, the element, and optionally Also store in variable if you want a second name to refer to it by.
- Things that can go wrong: “Target not found for copy text.” or “Copy Text step must have a label.” — pick the element again or give the step a label.
Copy to clipboard
- What it does: copies the text of the picked element to your operating system clipboard, so you can paste it elsewhere with Cmd/Ctrl+V.
- When to use it: when you want to paste something into a different app, not just save it inside TaskPilot.
- What you fill in: the element you want to copy.
- Things that can go wrong: “Could not copy to clipboard — click the page tab once, then run again (the tab must be focused).” Click the tab one time so it has focus and rerun.
Type text into the page
Paste text
- What it does: types text into a form field or editor on the page.
- When to use it: filling in form fields, search boxes, comment areas.
- What you fill in:
- Pick from page the input or text box.
- Paste mode: Static text (type a value here, you can
use
{{ }}) or From previous step label (drop in whatever a Copy text step grabbed earlier).
- Things that can go wrong: “Paste target must be an input, textarea, or contenteditable element.” (you picked something that’s not editable), “Paste source step has no value: ...” (the earlier Copy text step didn’t actually capture anything), or “Choose a source step label for Paste Text.” (you forgot to pick a source).
Move between pages and wait
Navigate
- What it does: opens a URL in the active tab.
- When to use it: jumping to a known page, or following a templated URL like a search.
- What you fill in:
- URL — supports
{{ }}. - After navigate: Continue immediately, Wait for selector (then add the selector and a Timeout (ms)), or Wait fixed delay (then add a Delay (ms)).
- URL — supports
- Things that can go wrong: the page is slow and the next step fires too early — switch the after-navigate mode to Wait for selector and point at something you know appears once the new page is ready.
Wait
- What it does: pauses the run for a fixed number of milliseconds.
- When to use it: as a last resort when a page has an animation or loader and you can’t target a specific element to wait for.
- What you fill in: Wait duration (ms).
- Things that can go wrong: nothing usually — but prefer Wait for selector when you can, because pages don’t always take the same amount of time.
Wait for selector
- What it does: waits until something appears on the page, up to the step timeout.
- When to use it: after a click that loads new content, after a navigation, before a step that relies on a freshly-loaded element.
- What you fill in: a Selector describing what to wait for. (You can copy the selector from another step that already targets the same element.)
- Things that can go wrong: “Timed out waiting for selector.” — TaskPilot waited and never saw the element. Increase the timeout, or check that the page actually shows what you expect.
Save and reuse values
Set variable
- What it does: saves a piece of text under a name you choose.
- When to use it: for things you want to use later in the workflow, like the URL of a page or a person’s ID number.
- What you fill in: a Name (no spaces, used inside
{{ }}) and a Value. The value can include{{ }}from earlier steps. - Things that can go wrong: “Enter a variable name.” — pick a name.
Add to CSV
- What it does: appends a new row to a named table inside the run.
- When to use it: collecting many items as the workflow loops — one row per item.
- What you fill in:
- Table name (default Results) — gives the table a name so you can export it later.
-
For each column you want, click + Add column and fill in
Column name (becomes the CSV header) and From step
label (which earlier step’s value goes in this column). You can also
type
{{ }}in the source.
- Things that can go wrong: “Add at least one column mapping for Add to CSV.” — you didn’t add any columns yet.
Export CSV
- What it does: downloads the current rows of a table as a CSV file.
- When to use it: at the end of a workflow that used Add to CSV, to save the collected rows.
- What you fill in: Table to export (must match the table name from your Add to CSV steps).
- Things that can go wrong: “No rows to export.” or “No columns to export.” — there’s nothing in the table yet, usually because a previous step failed silently or the table name is misspelled.
Pause for User
Pause for user is a special step. When the run reaches it, TaskPilot stops and shows your message in the side panel. The run only continues after you click the Resume button.
What you fill in
- Pause message — the words you (or a teammate) will see when the workflow pauses. The default is “Complete manual step, then click Resume.” Make it specific: “Enter the 6-digit code from your phone.”
When to use it
- Sign-in pages where you need to type a one-time code or solve a CAPTCHA.
- Anywhere you want a person to look at the page before TaskPilot continues.
- Approving a step that has consequences (sending an email, hitting Submit).
How it appears during a run
- The run-status line in the side panel shows ⏸ Paused — your message.
- The step row turns purple while the run is paused on it.
- Click ⏸ Resume to keep going. Click ⏹ Stop to end the run.
Loops and repeating work
You can run the same workflow once for each line of text by using Loop inputs. This is the closest TaskPilot has to a “macro” that repeats — combine it with Add to CSV and Export CSV and you can fill a spreadsheet automatically.
Walk through
- Open the workflow and expand Workflow settings.
- Paste your list into Loop inputs, one value per line. Each line is one iteration. Status text underneath should read {n} input(s) loaded.
-
In your steps, refer to the current line as
{{input}}. For example:-
A Navigate step with URL
https://example.com/search?q={{input}}. -
A Paste text step in Static text mode with
{{input}}as the value.
-
A Navigate step with URL
- Add Copy text steps for the values you want to capture, then an Add to CSV step that maps each column to one of those step labels.
- At the end, add an Export CSV step pointing at the same table name. The file downloads when the run finishes.
- Press Run. The workflow runs once per line.
Tip: while you are testing, paste only a couple of lines into Loop inputs so you can see the full run quickly. Add the full list when it works.
AI steps (Pro / Max)
On the Pro and Max plans, TaskPilot can hand off small jobs to an AI provider that you choose. Each AI step uses one API call to your provider. Set up the provider once in Settings → AI Provider; pick from OpenAI-compatible, Gemini, or Anthropic, paste your API key, and save. Optionally set a custom Base URL or Model in the advanced section.
Some marketing pages still call the paid plan Plus — that’s the same plan as Pro. The extension uses Pro in its buttons and messages.
AI · Transform text
- What it does: sends text from the picked element through your AI with your instructions, then puts the result on the clipboard or in a variable.
- When to use it: rewriting, translating, or reformatting a block of page text.
- What you fill in:
- Pick from page the source element.
- Instructions — what you want the AI to do.
- Put result in: Clipboard or Variable (and a variable name if so).
- Advanced — max input size: caps how much text is sent.
AI · Fill field
- What it does: generates text from your instructions and pastes it into the picked input or text area.
- When to use it: drafting a comment, message, or summary directly into a form.
- What you fill in:
- Pick from page the editable field.
- Instructions.
- How much page text to use — how many characters of the surrounding page TaskPilot includes as reference. Click the small i next to this field for more on this. The default works for most pages; raise it if results look like the AI missed the main content.
AI · Summarize text
- What it does: summarizes the text from the picked element.
- When to use it: getting a quick TL;DR of an article, ticket, or email.
- What you fill in: the source element, then Put summary in (Clipboard or Variable).
AI · Extract structured
- What it does: asks the AI to pull out named fields and adds them as a row to a results table. (Hidden in the picker by default; ask support to enable it.)
- When to use it: turning messy page text into clean rows of data.
- What you fill in: a description of the fields you want, the Table name, and the source element.
AI errors you may see
- “Missing LLM API key. Add your key in Settings → AI Provider.” — you haven’t saved a key yet.
- “Invalid or expired AI API key (401). ...” — the key is wrong, expired, or for the wrong provider. OpenAI keys, Anthropic keys (
sk-ant-...), and Google keys are not interchangeable. - “AI provider rate limit reached (429). Wait and retry.” — you’re sending requests too quickly; pause a moment.
- “Could not reach the AI provider. Check your connection.” — network problem or your provider is down.
- “LLM returned no content.” — the AI returned an empty response; try simpler instructions or a different model.
Running a workflow
The bottom of the workflow detail view is the run bar. It controls a run on the active tab.
The run controls
- ▶ Run — starts the workflow on whichever tab you are looking at.
- ⏸ Resume — continues after a Pause for user step.
- ⏹ Stop — ends the run immediately.
Status messages
While a run goes, the status line shows what TaskPilot is doing:
- Idle — nothing is running.
- ▶ Running: {{stepName}} — that step is in progress. Its row in the list highlights purple.
- ⏸ Paused — your message — the run hit a Pause for user step.
Step rows pick up colors during a run too:
- Purple — running right now or paused.
- Red — the step failed.
- Strikethrough — the step is disabled and was skipped.
The run log
Below the run bar, the Run log section is collapsible. Open it to see a time-stamped list of what TaskPilot did, including warnings and errors. When you contact support, copy the last few lines from here.
What happens before the run starts
- TaskPilot checks each step is valid (required fields filled). Bad fields are highlighted in red and a toast tells you what to fix.
- If you are on Pro or Max, TaskPilot verifies your subscription. If verification fails, you’ll see an error before the run begins (see Common issues).
- The current tab gains focus — don’t click into another window once a run starts unless your steps don’t need the page.
When something goes wrong
By default, the first failed step stops the whole run. The failed step turns red, the run status changes, and a small toast in the bottom-right shows the error message.
Read the error
- Look at the toast and the red step row to see which step failed.
- Open Run log to see the time-stamped error and any warnings before it.
- Open the failed step. Try its action manually: does the element still exist on the page? Is the URL right?
Fix and retry
- Re-pick the element if the page changed (Pick from page).
- Add a Wait for selector step before flaky steps that run on freshly-loaded pages.
- Increase Timeout (ms) on slow sites.
- If a step is optional, turn on Continue run if this step fails in its Advanced section.
- Save the workflow and click Run again.
Skip a broken step temporarily
Turn on Disable step (skip when running). The step stays in the workflow (with a strikethrough) but is skipped on every run until you turn it back on. Useful for testing the rest of the workflow while you work out one stubborn step.
Plans and limits
TaskPilot has three plans. Pricing is published with the Chrome Web Store listing; the limits below match what the extension enforces.
Some of our marketing pages still say Plus — the extension uses Pro for the same plan.
| Feature | Core (free) | Pro | Max |
|---|---|---|---|
| Steps per workflow (max) | 4 | 15 | 50 |
| Regular steps (clicks, copy, paste, navigate, etc.) | Yes | Yes | Yes |
| AI steps (your API key) | — | Yes | Yes |
| Subscription required? | No | Yes (verified in app) | Yes (verified in app) |
Every step counts toward the per-workflow limit, including Pause for user steps.
Common issues
The side panel won’t open
- Make sure you are on a current desktop version of Chrome.
- Open
chrome://extensionsand confirm TaskPilot is enabled. - If you loaded an unpacked build, click Reload on the extension card.
The picker is stuck or won’t highlight anything
- Press Esc on the page to cancel.
- Switch to a different tab and back — the picker resets when the side panel reloads.
- Some pages (like other browser settings tabs) don’t allow extensions to inject the picker. Try the workflow on a normal website.
A step worked yesterday but fails today
- The site probably redesigned. Open the failed step, click Pick from page, and re-pick the element.
- If the page is loading more slowly than before, add a Wait for selector step before it or raise Timeout (ms).
Sign-in or MFA breaks the run
The recommended pattern is:
- Click the Sign in button.
- Wait for selector: the password input.
- Pause for user: “Type your password and complete MFA, then click Resume.”
- Wait for selector: something on the page that only appears after sign-in.
- The rest of the workflow.
TaskPilot does not store passwords. Type them yourself during the pause, or use your password manager.
Subscription errors
- “Subscription required. Missing entitlement API URL.” — finish connecting your subscription in Settings.
- “Subscription verification failed (...)” — the subscription service didn’t respond as expected. Try clicking Refresh subscription status in Settings; if it persists, contact us.
- “Subscription inactive.” — your plan ended or payment failed. Open Manage subscription in Settings.
- “Subscription tier does not include Pro features.” / “... Max features.” — the workflow uses a step that needs a higher plan. Upgrade or remove the step.
Clipboard step fails
Chrome only lets the clipboard be written when the tab is in focus. If you see “Could not copy to clipboard — click the page tab once, then run again (the tab must be focused).”, click anywhere on the page tab and run again.
The run gets stuck after a navigation
The next step probably ran before the new page finished loading. Edit your Navigate step and switch After navigate to Wait for selector, with a selector for something that only appears once the new page is ready.
Privacy and permissions
TaskPilot is local-first. Your workflows and settings live in your browser. They are not uploaded anywhere unless you turn on a feature that needs the network — like a subscription check or an AI step.
What stays on your computer
- Your saved workflows (steps, picked elements, settings).
- Your plan choice (Core, Pro, or Max) and any subscription details.
- Your AI provider, optional model, and your API key.
What may go over the network
- Subscription verification (Pro and Max only) — a small request to confirm your plan is active.
- AI steps (Pro and Max only) — the relevant page text plus your instructions are sent to the AI provider you chose. Your API key is used to authenticate the request.
For administrators — the technical bits
On Pro and Max, the extension calls
GET {baseUrl}/v1/entitlement with
Authorization: Bearer <token> and expects a JSON response of the form
{ "active": true, "tier": "pro", "expiresAtMs": ... }. Verification is
required — there is no offline grace period.
The Chrome permissions TaskPilot requests:
- storage — saves workflows and settings.
- activeTab — runs only on the tab you are using.
- scripting — injects the picker and runner when you ask for an action.
- sidePanel — the persistent builder/runner UI.
- downloads — Export CSV.
- clipboardWrite — Copy to clipboard.
- host_permissions:
<all_urls>so workflows can run on any site you choose. TaskPilot only acts when you start a run; it does not run in the background across sites.
Acceptable use
By using TaskPilot you agree not to:
- Break the law or violate the terms of service of the websites you automate.
- Try to break into accounts that are not yours, or bypass security checks.
- Collect data you don’t have permission to use.
- Get around paywalls or other access controls.
You are responsible for the workflows you build and run, and for any provider charges if you use AI steps. Websites can change without notice and automation may fail; TaskPilot is provided as-is.
Contact
Stuck? Found a bug? Want a new step type? Email support@kyberflowlabs.com. The most useful things to include are:
- The workflow name and which step failed.
- The error text from the toast or Run log.
- The website you were running on (if you can share it).
- Your plan: Core, Pro, or Max.