Automate typing
Typing the same things into the browser is some of the dullest work there is. Names, emails, codes, notes, the same fields filled over and over. A bot can type it all for you, pulling each value from a sheet and working through every row, so you fill a form once and never again. There are three ways to start, with no code, with code, or with a Claude skill.
What I mean by automating typing
Automating typing means a bot enters text into a page for you. It clicks into a field, types the value, moves to the next field with Tab or a click, and repeats. The value can be fixed, or it can come from your data, a name from one column, an email from another. That is the difference between typing once and typing a thousand rows without lifting a finger.
Typing is about the data behind it
Pressing keys is the easy part. What makes automated typing worth it is where the text comes from. Pull it from a Google Sheet, an Excel file, or a webhook, and the same form fills with a different row every time. Map each column to a field once, then loop. A name lands in the name field, an order number in the order field, a note in the note field, row after row.
Without data behind it, typing is just a macro that types the same thing. With data, it clears a backlog. So the first question is not how to type, it is where the values live and how each one maps to a field.
Who this is for
This is for anyone who keys the same data into the browser all day. Entering orders, updating records, copying values from a spreadsheet into a web app one field at a time. And for anyone holding a list that has to go into a form, field by field, row by row. No-coders and coders both, since you can build it without code and drop into code when you want.
How I'd approach it
Start with the data. Get your values into a Google Sheet or Excel with one column per field. Then map them, point each typing step at a field and pull its value from the matching column. Run one row and read it back to check every value landed in the right place. Then loop the rest.
Data first, map second, test one, then run. That order keeps it honest. I would lay out the first draft with Build with description.
Automate typing from a description
Describe the fields and where each value comes from in the Chrome extension and it builds the steps for you. Give it a few short lines, check what it made, and run it. Explore no-code.
To the right is an example. Describe the fields and where each value comes from, and the AI lays out the steps.
Chrome extensionInstructions
- Open the form13 / 500
- Read each row from a Google Sheet33 / 500
- Type the name and email into their fields41 / 500
- Tab to the notes field and type the note40 / 500
- Submit, then take the next row30 / 500
Automate typing in code
Build with code. You do not have to write the script by hand. Describe the form to our Claude skill and it generates a ready-to-run Node script you own, then debugs it with you, fixing a selector that stopped matching or a step that stalls, until the run is clean. Prefer to write it yourself? Explore the code tool. Either way, the script looks like this.
These are axiom's step functions, the same step library that powers the no-code builder, available as code. Describe the form to the Claude skill and it generates and debugs this script for you. It runs on our cloud Chromium, with nothing to manage.
Generate it with the Claude skill1import { AxiomApi } from "axiom-api";2 3const axiom = new AxiomApi(process.env.AXIOM_API_KEY);4 5await axiom.browserOpen();6try {7 await axiom.goto("https://example.com/new");8 await axiom.enterText("#name", "Ada Lovelace");9 await axiom.enterText("#email", "ada@example.com");10 await axiom.enterText("#note", "VIP");11 await axiom.click("button[type=submit]");12} finally {13 await axiom.browserClose();14}15 Build with a Claude skill
Build no-code or code bots with a skill.
Add the Claude skill and describe the fields and your data. It builds the bot for you, no-code or code, mapping each column to a field and typing every row.

What can you automate?
Most text fields. A couple of cases worth knowing first.
Works well
- Typing names, emails, and codes from a sheet
- Filling notes and descriptions
- Moving between fields with Tab
- Clearing a field before typing
- Filling the same form across many rows
Harder
- Autocomplete fields that filter as you type
- Rich text and contenteditable boxes
- Masked inputs like phone or card numbers
Don't try
- Posting spam or fake content
- Anything against a site's terms
- Filling a form with data you are not allowed to use
What I'd watch out for
Typing looks simple until a field refuses the text. Here is what I would watch for.
Fields that ignore set text
Some fields, often React or custom widgets, ignore text that is set in one go and only react to real keystrokes. If a value does not stick, type it key by key, or click the field first so it is focused.
Autocomplete and dropdowns
A field that filters as you type needs a pause, then a click on the option. Typing the full value and moving on often leaves nothing selected. Type, wait for the list, then pick.
Clear before you type
Typing into a field that already holds text appends or jams the values together. Clear the field first, then type the new value.
Tabbing between fields
Moving with Tab is faster than clicking each field, but only if the page tabs in the order you expect. Check the tab order once, or click each field to be safe.