How to submit Airtable Form with Puppeteer
Learn how to submit your Airtable form automatically using Puppeteer

Search for a command to run...
Learn how to submit your Airtable form automatically using Puppeteer

No comments yet. Be the first to comment.
We’ve tried out lots of apps over time, and honestly—not all of them do what we really need. That’s why I’m writing this blog post: to share some of the challenges we’ve noticed with the Shopify Forms app and hear what others think too. If you’ve fou...
Hey everyone, Dorothi Viki here. For the last decade, I’ve been in the digital marketing trenches. I’ve managed budgets big and small, and I’ve seen firsthand how crucial it is to know what people are saying about you online. When you’re starting out...
If you’re a small business owner, freelancer, or consultant, your website is your storefront. But traditional website development can be expensive, slow, and intimidating. Platforms like SpreadSimple remove these barriers by allowing you to turn Goog...

For SEO professionals, content marketers, freelancers, and consultants, keyword research is non-negotiable. It’s the foundation of any effective search strategy. However, with so many tools behind paywalls, finding a reliable, high-quality, free Goog...
With the rise of AI agents and Claude-specific development environments, understanding Claude Code has become essential for modern developers, freelancers, and consultants. Whether you're building Multi-Component Programs (MCPs) or designing autonomo...
This is a simple Nodejs script sample that will show how you can programmatically submit Airtable Form automatically using Puppeteer(a Node library to control Chromium-based browser). In this tutorial, I will talk about Puppeteer and Airtable prefill methods to auto-submit forms.

I am assuming you have at least some knowledge of running the Nodejs script. You can use the same method to submit any Airtable data from other data sources (Google Sheets), the only thing you need to consider is to create it as a JSON array. If you are looking for advanced usage, please consider using Airtable API.
I created this script and a Chrome extension (which I will talk about later) for my client when I saw they used to enter so many similar details from websites more than 100 times a day. I would like to let you know that there are some issues when submitting multiple forms simultaneously. If you are looking for prefilling and auto-submitting for so many pages, I would suggest reading this thread.
Your Airtable Form
Node.js on your computer ( How to setup Nodejs )
A Good IDE (mine is VS Code)
Data in JSON format
Little JS knowledge (even on How to run Nodejs script would be helpful)
Puppeteer is a Nodejs library used to control headless Chromium browsers. In layman's terms, you can use this library to do things like making screenshots, browser actions, and many more without opening Chrome. If it doesn't ring a bell, then watch this useful video from Google and read this article.
Create a folder (pick your name)
Open that folder in VS Code
From the VS Code terminal, npm init
Now, install Puppeteer, using npm install puppeteer
Create index.js
Copy & paste our code below
Make necessary changes
Replace the Airtable URL by updating the URL on baseURL from the script.
Add prefill variable using prefill_"Variable from Airtable Form". Please note %20 is for space. You don't need it if there is no space. From the below Form image, you can see that prefill_Company%20Name, prefill_Company%20Domain is an example.

If your data source is a CSV file, then it's better to use something like an online converter.
If you have the details on Google Sheets and want to convert them into JSON, please check this article or use SheetDB. Please make the decision based on your requirements, if you just need to convert the sheet to JSON.
Finally, you got the working Nodejs script to automatically submit the Airtable form based on your data. I hope this is helpful for you. If you are stuck somewhere or need some help, please use the comment section below or contact us.