Chrome extension · Open source

Tell any website what to do.

Ask in plain English, or point at something on the page. Flexbot writes a small script that does it: automations, macros, exports, price watches and tweaks. It's real JavaScript you can read, and it runs every visit, on demand or on a schedule.

No card needed 100 AI credits to start Or free with your own Anthropic key

Interactive demo

A pretend online shop in a mock browser window, with a miniature of Flexbot. Choose a suggested request or type your own: Flexbot's panel shows the request, a review card with the script it wrote, and the result on the page. Nothing is kept until you choose Save. Use the refresh button to check that saved flexes come back after a reload. Changes to the pretend page are announced.

Try a request on this pretend shop
kitchenshop.example/c/kettles-and-tea

Saved in this browser (0)

    Nothing saved yet. Flexes you save show up here, like the “On this page” list in Flexbot's toolbar popup.

    This demo is scripted: no AI runs on this page and nothing you type leaves your browser. It matches your words to a handful of built-in examples. The real extension writes a new script for whatever you ask, on real sites. Demo flexes and credits are kept in this browser's local storage, so they survive reloading this tab too.

    What you can make

    If you do it in a tab, Flexbot can script it.

    Every flex is one small userscript, saved in your browser. Ask in your own words; there's no syntax to learn. A few examples of each kind:

    Runs on every visit

    Tweaks

    Restyle, hide, rewrite or rearrange anything on a page, and keep it that way.

    • Hide the comments and make the article text bigger
    • Give this dashboard a dark theme
    flex.hide('#comments');
    flex.css('article { font-size: 1.15rem !important; }');
    On demand

    Automations & macros

    Click through the same steps you repeat every day, in one go.

    • Expand every “Show replies” in this thread
    • Fill this form with my shipping details
    await flex.clickUntilGone('button.show-replies', { max: 50 });
    flex.toast('All replies expanded');
    On demand

    Queries & exports

    Pull tables and lists out as CSV or JSON, or have the AI summarize them while the script runs.

    • Export my order history to CSV
    • Summarize this thread in five bullets uses AI each run
    const rows = flex.table('table.orders');
    flex.download(rows, { filename: 'orders.csv', format: 'csv' });
    Every 60 min

    Monitors

    Check a page on a schedule and get a notification when something changes.

    • Tell me when this drops below $50
    • Check this page every hour and tell me when a new listing appears
    const el = await flex.waitFor('.price');
    const price = parseFloat(flex.textOf(el).replace(/[^\d.]/g, ''));
    if (price < 50) flex.notify('Price drop', `Now $${price}`);

    How it works

    Ask. Review. It runs.

    You never have to write code. But it's always there to read, and nothing is kept until you've seen it and said yes.

    1. 1

      Describe it, or point at it

      Press AltShiftF on any page and say what you want. Can't name the thing? Click Point and choose it on the page.

    2. 2

      Flexbot writes the script

      The AI reads an outline of the page and writes a short JavaScript userscript. You get a plain-English summary: what it does, where it runs, when, and what it's allowed to do. A low-risk draft may run once as a preview, so you see the effect right away.

    3. 3

      Save it, and it runs

      On every visit, on a schedule, or whenever you run it from the command palette (AltShiftK). Nothing is saved until you click Save.

    Real code you own

    It's real JavaScript. It's yours.

    Flexbot is a userscript manager with an AI that writes the scripts. No black box, no lock-in: what runs in your browser is code you can read.

    • Read every line before you save. The review card shows what a script does, where it runs and what it can touch, with the full code one click away.
    • Edit by hand, or ask for changes. The Library has a code editor. Ask the AI for a change and you see a diff before anything is replaced.
    • Version history. Every change keeps the previous version, so you can compare and restore.
    • Standard .user.js import and export. Take your scripts to another userscript manager, or bring yours in. Imports always arrive switched off until you review them.

    Privacy & safety

    Your browser. Your rules.

    A script that can change pages deserves care. Flexbot checks what each script can do, asks before anything risky, and keeps your scripts on your device.

    Network blocked by default

    Scripts run inside Chrome's user-script sandbox with network access blocked by default for their own requests. A script that needs the network must be explicitly approved by you, only for the sites it names.

    Risky code waits for you

    Every script is checked before you see it. If it uses the network, reads cookies or site storage, touches password or payment fields, builds code from strings, or looks obfuscated, it's flagged with the reason and won't even preview until you say so.

    Nothing is kept until you Save

    A draft may run once as a preview on the tab you're looking at. Nothing is saved or registered until you click Save, and our server never pushes, updates or replaces a script you saved.

    You agree before anything is sent

    Before your first AI request, Flexbot shows exactly what it sends and asks you to agree. If that ever changes, it asks again.

    Being straight with you: a script you approve can still change the page it runs on (that's its job), and a page-level trick like loading an image could still reach the internet. That's why the review card lists what each script can do, and why you should read it before you save.

    Stays on your device

    Flexes (code and metadata), run logs and per-flex data live in chrome.storage.local on your device. Never uploaded or synced.

    Scheduled checks run in your own browser, too.

    Sent only when you ask for a flex

    When you ask Flexbot to create or change a flex:

    • your prompt;
    • the page URL without query string or fragment, and the page title;
    • a compact text outline of the page;
    • the pointed-at element's HTML (query strings and tokens redacted);
    • the names and descriptions of flexes already on this page;
    • when changing an existing flex, its code.

    Form field values and password fields are never included. It's sent to our server and our AI provider (Anthropic) to produce the result. Our server keeps only billing metadata (credits, token counts, timestamps), not prompts, page content or code.

    flex.ai() sends the prompt and the data the script passes to it. Scripts that use it show “Uses AI” in review.

    With your own Anthropic key

    Nothing goes to Flexbot's servers at all. Requests go from your browser straight to Anthropic with your key, and no Flexbot account is needed.

    The key is stored only in the extension's private storage on this device.

    Full details in the privacy policy.

    Setup

    One switch, once.

    Flexbot runs your scripts through Chrome's official userScripts API. Chrome asks you to turn on Allow User Scripts for Flexbot one time (Extensions → Flexbot → Details). Until it's on, Flexbot can't run anything, and it says so plainly.

    Chrome shows that note for every userscript manager. It's expected: the code is yours. Flexbot writes it only when you ask, shows it to you, and saves it only when you click Save. Turn the switch off any time and your scripts pause until you turn it back on.

    Requires desktop Chrome 138 or newer. Not available on phones.

    1. Download the extension

      Flexbot isn't on the Chrome Web Store yet. Until it is, install the developer preview: same extension, same trial.

      Download flexbot-extension.zip
    2. Unzip it somewhere permanent

      Chrome loads Flexbot from that folder, so keep it somewhere you won't clear out.

    3. Load it in Chrome

      Paste this into the address bar (web pages can't link to it), switch on Developer mode, click Load unpacked and choose the folder that contains manifest.json.

      chrome://extensions
    4. Start your trial, or use your own key

      In the welcome tab that opens, sign in with your email and a 6-digit code for 14 free days (no card), or paste an Anthropic API key and skip the account.

    5. Turn on “Allow User Scripts”

      Click Details on Flexbot, scroll to Allow User Scripts (below “Site access”) and switch it on. The welcome tab walks you through it and notices the moment it's on. Pin Flexbot from the puzzle-piece menu. Preview installs don't update themselves; download again for a newer version.

    Open source · MIT

    Read every line.

    The extension, the server and this website live in one public repository under the MIT license. The Chrome Web Store build is made from that repository by a script anyone can run. No hidden code.

    • Skip our server

      Paste your own Anthropic API key and Flexbot talks straight to Anthropic. No account, no credits, nothing through us.

    • Run your own server

      Self-host the API with Docker, your own Anthropic API key and billing turned off, then point Flexbot's Custom server URL setting at it.

      docker compose up
    • Audit what runs

      The helper library every script uses, the review checks and the prompt the AI follows are all in the repo.

    Pricing

    Pay for the AI. Running is free.

    Every plan has every feature. Credits are spent only when the AI writes or changes a flex, or when a script asks the AI something while it runs. Running your saved flexes costs nothing.

    Trial

    Free14 days

    100 credits

    No card needed. Try everything.

    Add to Chrome

    Starter

    $5/ month

    100 credits / month

    A few new flexes and tweaks each month.

    ≈ 100 Standard or 20 Smart requests

    Pro

    $19/ month

    400 credits / month

    Automating something most days, or scripts that use AI as they run.

    ≈ 400 Standard or 80 Smart requests

    Max

    $99/ month

    2,000 credits / month

    Heavy building, lots of Smart requests, busy AI scripts.

    ≈ 2,000 Standard or 400 Smart requests

    Your own key

    Freeforever

    Unlimited, no credits

    Paste an Anthropic API key and pay Anthropic directly. No account. Requests go straight from your browser to Anthropic.

    Paid plans are chosen inside Flexbot once you've installed it (Plans & billing). Prices in US dollars; payments by Stripe.

    • 1 credit per request. Smart requests (a stronger model for complex automations) use 5 credits.
    • Running your saved flexes is free: on page load, on demand or on a schedule. Only a script that calls the AI while it runs uses 1 credit per call.
    • No overage charges, ever. Out of credits? Upgrade, or wait for the reset.
    • Credits reset monthly. Unused credits don't roll over.
    • Upgrade anytime. A fresh month starts that day with the new plan's full credits; you pay the new price minus the unused time of your old plan.
    • Choosing a paid plan during the trial ends the trial right away. The plan's full credits start that day; leftover trial days and credits don't carry over.
    • Downgrades and cancellations take effect at the end of your billing period. Credits you already have stay until then.
    • Failed requests are never billed, and if a new script errors on its first run, one automatic “Fix it” retry is free.
    • Your flexes keep running after the trial, with or without a plan. Only the AI features pause.

    What does a credit get me?

    One credit is one Standard AI request: asking for a new flex, or a change to one. After that, the flex runs as often as you like for free. Drag to estimate a month:

    50credits a month

    Starter ($5/month) covers it.

    30 × 1 + 4 × 5 + 0 × 1

    Rough guide only. Every scheduled or on-load run of a script without AI is free and isn't counted here.

    FAQ

    Questions, answered plainly.

    Something else? Email hello@flex.bot.

    What's a credit, and what uses one?

    A credit is one Standard AI request. Asking Flexbot for a new flex, or asking it to change one, uses 1 credit. A script that calls the AI while it runs (flex.ai(), for things like “summarize this thread”) uses 1 credit per call, for up to about 30,000 characters of input.

    Failed requests are never billed. If a brand-new script throws an error on its first run, one automatic “Fix it” retry is free.

    What's Smart, and when should I use it?

    Smart sends your request to a stronger AI model. It's slower and uses 5 credits instead of 1 credit, and it's worth it for multi-step automations, fiddly sites or a script that didn't come out right the first time. Most tweaks and exports are fine on Standard.

    What's free?

    Running your saved flexes, as often as you like: on page load, on demand or on a schedule, as long as they don't call the AI while they run. Editing code by hand, switching flexes on and off, deleting, exporting and importing are free too.

    When your trial ends without a plan, your saved flexes keep running. Only the AI features stop, and scripts that use flex.ai() get a polite error instead of an answer.

    Why do I have to turn on “Allow User Scripts”?

    Flexbot runs your scripts with Chrome's official userScripts API, the same one userscript managers use. Since Chrome 138, each extension that uses it needs your one-time permission: go to chrome://extensions, click Details on Flexbot, and switch on Allow User Scripts. Flexbot's setup screen takes you there.

    Chrome then warns that the extension “will be able to run code which has not been reviewed by Google”. That's true of any userscript: the code is yours, written when you asked and saved only when you said so.

    Which browsers and Chrome versions work?

    Desktop Google Chrome 138 or newer, on Windows, macOS, Linux or ChromeOS. Chrome on phones doesn't support extensions. Other Chromium browsers may work if they support the userScripts API, but we only test Chrome.

    Is it safe? Could a script steal my data?

    Here's how Flexbot keeps you in control, honestly stated:

    • You see it before you save it. Every draft comes with a summary, the sites it runs on and a list of what it can do (“change how this page looks”, “save files”, “send page content to Flexbot AI”), plus the full code.
    • Network is blocked by default. Scripts run in Chrome's user-script sandbox with network access blocked for their own requests. A script that needs the network must be approved by you, and only for the sites it names.
    • Risky code needs your approval. Network use, reading cookies or site storage, touching password or payment fields, building code from strings, and obfuscated code are flagged before anything runs.

    What it can't promise: a script you approve can still change the page it runs on, and a page-level trick like inserting an image can still reach the internet. Read the review card, and don't approve code you don't understand on sensitive sites like your bank.

    What gets sent when I ask for a flex?

    Only when you ask Flexbot to create or change a flex: your prompt, the page URL without its query string or fragment, the page title, a compact text outline of the page, the HTML of the element you pointed at (with query strings and tokens redacted), the names and descriptions of flexes already on that page, and, when you're changing a flex, its code. Form field values and password fields are never included.

    It goes to our server and our AI provider, Anthropic, to produce the result. Our server keeps only billing metadata (credits, token counts, timestamps), not prompts, page content or code. With your own key, it goes straight to Anthropic and never touches our server. Details in the privacy policy.

    Do my flexes sync between computers?

    No. Flexes live in chrome.storage.local on the computer where you made them and are never uploaded or synced. To move them, export from the Library (as a Flexbot bundle or standard .user.js files) and import on the other computer.

    Does it work on every website?

    On regular web pages, yes: shops, news, docs, dashboards, forums, web apps. Chrome doesn't let any extension run on its own chrome:// pages or the Chrome Web Store, and some apps that draw everything on a canvas (or block scripts very aggressively) are hard to change.

    Flexbot also won't write scripts that get around paywalls or log-ins, download copyrighted media, post or send messages without asking you first, or grab time slots the moment they appear.

    Do scheduled flexes run when Chrome is closed?

    No. Scheduled flexes run on your computer, in a background tab, while Chrome is open. If Chrome was closed when a check was due, it runs once when Chrome starts again. Schedules can be as often as every 15 minutes, or every 60 minutes for scripts that use the AI.

    How do I cancel? Do you offer refunds?

    Open Flexbot's Plans & billing and choose Manage billing to cancel in Stripe's customer portal. Your plan stays active until the end of the period you've paid for, and your saved flexes keep running afterwards.

    If something went wrong, like a charge you don't recognize or a plan that didn't work for you, email hello@flex.bot and we'll sort it out. The terms have the details.

    Is there a plan for teams?

    Not yet. Each person needs their own account or their own API key. You can share flexes by exporting them and having colleagues import them; imports always arrive switched off until they're reviewed.

    How does “use your own key” work, and what does it cost?

    In Flexbot's settings, choose My Anthropic key and paste an API key from your Anthropic account. Flexbot checks it, then sends every AI request directly from your browser to Anthropic. No Flexbot account and no credits to buy; only the safety limits on scripts (like the daily AI cap per flex) still apply. The key stays in the extension's private storage on your device.

    You pay Anthropic for what you use. At Anthropic's prices in October 2026, a typical Standard request costs roughly 1–3 cents, a Smart request roughly 5–15 cents, and an AI call made by a running script usually under a cent. Check Anthropic's pricing page for current rates.

    Is Flexbot open source? Can I self-host it?

    Yes. The whole project (extension, server and this website) is MIT-licensed on GitHub, and the Chrome Web Store build is made from that repository. You can run the server yourself with Docker and billing turned off, then set Flexbot's Custom server URL to it. Or skip a server entirely with your own key.

    Stop doing the boring part by hand.

    Install Flexbot, say what you want, and keep the script. Free for 14 days, no card required.

    Add to Chrome — free for 14 days

    Plans from $5/month Free forever with your own key Open source