An iMacros alternative
iMacros for Chrome shipped its final release years ago and the Chrome extension is no longer maintained. If you came here for the record-and-replay browser-macro experience without writing code, axiom is the modern successor. Visual builder, real Chromium, runs in the cloud or on your desktop. There are three ways to start, with no code, with code, or with a Claude skill.
What I mean by an iMacros alternative
iMacros let you record clicks, key presses, and form fills into a script that you could replay on demand. axiom does the same job from a different angle. Instead of recording the literal sequence of inputs, you place steps in a visual builder. "go to URL", "click selector", "enter text from a Google Sheet column", "scrape this list", "wait". And chain them into a bot. Same outcome (a repeatable browser routine), a more durable shape (selectors survive small redesigns better than raw coordinates).
For long-time iMacros users, the mental model is straightforward: every iMacros command has a step equivalent, and the steps are easier to maintain because they're named, not raw.
What axiom does that iMacros didn't
A few things iMacros never shipped that you get out of the box:
- Runs in the cloud. Trigger the bot from anywhere, on a schedule, or via API. It executes on our infrastructure with no Chrome window of yours involved.
- Google Sheets in and out. Read a sheet as input, write results back, no glue code.
- Claude in the loop. Describe the bot in plain words and the AI lays out the steps.
- Selector tool with point-and-click. Click an element in the page, get a stable selector, no XPath authoring.
If you only need the local record-and-replay, axiom does that too. Install the Chrome extension, install the desktop app, and the bots run on your machine.
Who this is for
This is for the iMacros user whose Chrome extension stopped working. And the broader population that wants browser automation without writing code. Operations teams replacing scripts that stopped maintaining themselves. Data teams pulling routine reports from web apps that don't have an API. QA folks running the same click-through smoke test on every deploy. Anyone who used to write TAG POS=1 TYPE=A and now needs an alternative that's actively maintained.
How I'd approach it
Start by listing what your old iMacros script did. Opens URL, fills these fields, clicks submit, reads the result, saves to file. That list maps almost one-to-one onto axiom steps. Build the steps in the Chrome extension, run it once to confirm the selectors hold, then schedule or wire it into your stack.
For complex flows that branched in iMacros (IF on a page element), use the no-code logic steps. If element exists, Loop through rows, Wait for selector. They do the same conditional work without the script.
Build a browser bot from a description
Describe the bot in plain words in the Chrome extension and it builds the steps for you. Tell it the URL pattern, the form fields, and what the result should look like. Explore no-code.
To the right is an example. The same kind of routine iMacros would have done as a recorded macro. Describe yours and let the AI lay out the steps.
Chrome extensionInstructions
- Open the login page and sign in with stored cookies51 / 500
- For each row in my Google Sheet, open the form46 / 500
- Fill the name, email, and order ID fields from the row54 / 500
- Click Submit12 / 500
- Capture the confirmation number from the response page54 / 500
- Write the confirmation number back to the sheet47 / 500
Build a browser bot in code
Build with code. If you would rather script it yourself, this is the path. Explore code
Connect Playwright (or Puppeteer) to our cloud Chromium and write the same scripts you'd run locally, without managing the browser. Selectors are more durable than the position-based targeting iMacros used.
Code toolimport { chromium } from "playwright";
const browser = await chromium.connectOverCDP(
`wss://cdp-lb.axiom.ai/?token=${process.env.AXIOM_API_KEY}`
);
try {
const context = browser.contexts()[0];
const page = context.pages()[0] ?? await context.newPage();
// Each row would come from your Google Sheet (replacing what iMacros
// would have stored in DATASOURCE / iimSet variables)
const rows = [
{ name: "Ada Lovelace", email: "ada@example.com", orderId: "A-101" },
{ name: "Alan Turing", email: "alan@example.com", orderId: "A-102" },
];
for (const row of rows) {
await page.goto("https://example.com/form");
await page.locator('input[name="name"]').fill(row.name);
await page.locator('input[name="email"]').fill(row.email);
await page.locator('input[name="orderId"]').fill(row.orderId);
await page.getByRole("button", { name: "Submit" }).click();
const confirmation = await page.locator('.confirmation-number').textContent();
console.log(row.orderId, "→", confirmation?.trim());
}
} finally {
await browser.close();
}
Build with a Claude skill
Build no-code or code bots with a skill.
Add the Claude skill and describe the iMacros routine you used to run. It builds the bot for you, no-code or code, picking the right steps for each old iMacros command.

What can you automate?
Anything iMacros could, and several things it couldn't.
Works well
- Form filling from a sheet (the iMacros DATASOURCE pattern)
- Clicking through a fixed sequence of pages
- Pulling a daily report from a web app that lacks an API
- Smoke tests on QA builds
- Scheduling routines to run while you're not at the computer
Harder
- Pages with heavy anti-bot detection (slow the bot, store cookies)
- Captchas (use a solver step or a stored session)
- PDF generation from a printed page (use the file-download step instead)
Don't try
- Anything against the target site's terms of service
- Account creation at scale
- Scraping past a paywall on accounts you don't have access to
What I'd watch out for
iMacros users have a few habits worth unlearning when moving to axiom.
Selectors, not positions
iMacros often targeted by tag position (TAG POS=3). axiom uses CSS selectors and the selector tool. Pick a selector that matches what the element is (a label, an aria attribute, a stable parent) rather than where it sits on the page. Selectors that match by attribute survive redesigns better.
Loops are a step, not a script construct
Where you'd write a LOOP in iMacros, in axiom you wrap the inner steps in a Loop through data step pointed at a sheet column. The bot iterates rows automatically.
Variables are sheet columns, not iimSet
iMacros variable substitution ({{var}}) maps to axiom's per-step "value from sheet" picker. Pick the column once at the step level and it's bound for the loop.
Cloud vs desktop
iMacros only ran where Chrome was open. axiom runs in the cloud too, on our infrastructure. Useful for scheduled bots that need to run while you're not at the computer.