AI for Automation
📋 Build Free Surveys

Step 14 / 22

📋 Build Free Surveys

Typeform design + Google Forms pricing ($0)

Build It Now

Paste the prompt below into Claude Code. It will generate the survey form and backend code all at once.

Say this to Claude Code
Build a survey system for me.

- A beautiful HTML survey form (topic: workshop satisfaction)
- Questions: name, email, satisfaction (1-5), best part, areas for improvement
- Google Apps Script backend that saves to Google Sheets
- Show a thank-you message on submit
- Modern, clean design (Shadcn UI style)
- Save as survey.html

With that single prompt, Claude Code handles everything:

1
Generates the HTML survey form

Creates a clean UI with name, email, satisfaction rating, and text inputs

2
Generates Google Apps Script code

Backend code that receives POST requests and saves them to Google Sheets

3
Integration setup guide

Walks you through deploying Apps Script and connecting the URL to your form

First time deploying Apps Script?

Just follow the guide Claude Code generates. Open Google Sheets → Extensions → Apps Script → paste the code → Deploy (as web app) → copy the URL. Takes about 5 minutes.

Check the Results

When Claude Code finishes, you’ll have a survey.html file. Open it in your browser to see the survey form right away.

Generated file structure
📁 survey-project/
├── survey.html          ← Survey form (open in browser)
└── apps-script.js       ← Code to paste into Google Apps Script

When a survey is submitted, data flows like this:

1
User fills out the form

Enters name, email, satisfaction, etc. in survey.html

2
fetch() POST request

When submitted, JavaScript sends data to the Apps Script URL

3
Apps Script receives it

Google servers receive and parse the POST data

4
Saved to Google Sheets

The response is appended to the last row of the spreadsheet

After submission, a message like “Thank you! Your response has been recorded.” appears on screen. Open Google Sheets and you’ll see responses accumulating row by row.

Test it right away

Open survey.html in your browser and submit a test response. When you see data appearing in Google Sheets in real time, you’ll have that “wow, it actually works!” moment.

Understanding: How Is This Free?

“Is it really free?” Yes, really. The secret is combining three services that are already free. Let’s see what each one does.

Netlify / Vercel

Static HTML hosting. Makes your survey.html accessible on the internet. Free.

Google Apps Script

A serverless backend that receives POST requests and processes data. Free (~20,000 requests/day).

Google Sheets

Acts as your database. Stores up to 1 million rows per sheet. Free.

When these three combine, you can replicate everything a paid survey tool like Typeform does. At zero cost.

FeatureTypeformOur Method
Monthly cost$29–99$0
Response limit100–10,000~20,000/day
Design freedomLimited (templates)Full HTML/CSS control
BrandingWatermark at bottomNone
Data accessRequires exportDirect Google Sheets access
Annual cost$350–1,200$0

Why is this possible?

Google provides Apps Script and Sheets for free because these services keep people in the Google ecosystem. We’re just smartly leveraging that free infrastructure. Netlify/Vercel also host small-traffic sites for free.

Customize the Design

Once the basic form is created, it’s time to style it your way. Just tell Claude Code what you want and it can change the design freely.

Dark Theme

Switch survey.html to a dark theme.
Background #1a1a2e, text in white tones.

Add Brand Logo

Add our company logo at the top of the survey.
The logo file is logo.png.

Progress Bar

Add a progress bar to the survey.
Also show "2/5 questions" at the top.

Conditional Questions

Add conditional questions.
If satisfaction is 3 or below, show an additional
"What could be improved?" question.

Since you’re modifying HTML/CSS directly, there are no design limits. Fonts, colors, animations, responsive layouts — things you can’t even do on Typeform’s paid plans, all free.

Use design keywords

The design keywords you learned in Step 5 work here too. Try “Make the survey form in Glassmorphism style” or “Switch to a Notion-like minimal form.”

Get Notified on Responses

You can receive email notifications whenever a new survey response comes in using Google Apps Script’s MailApp.sendEmail().

Admin Notification

Sends an email to the admin whenever a new response arrives. Something like “New survey response: John Doe, satisfaction 5/5.”

Auto-Reply

Can also send an automatic “Thank you for participating in our survey” email to the respondent.

Say this to Claude Code
Add email notification features to Apps Script.

1. Send a notification to admin@example.com on each new response
2. Send a "Thank you" auto-reply to the respondent's email

Free email limits

Free Google accounts can send up to 100 emails per day. Workspace accounts allow up to 1,500. 100/day is plenty for small-scale surveys. If you expect more than 100 responses, set notifications to admin-only.

Try It Yourself

5 minutes is all you need to build a survey

Pick one of the challenges below and build it yourself

Challenge 1: Workshop Satisfaction Survey

Build a basic survey asking for name, email, satisfaction (1-5), best part, and areas for improvement.

Build a workshop satisfaction survey.
Questions: name, email, satisfaction (1-5), best part, areas for improvement.
Save to Google Sheets. Modern design.

Challenge 2: Product/Service Feedback Form

Build a feedback form asking for product name, star rating, pros/cons, and repurchase intent. Star ratings with clickable stars would be even better.

Build a product feedback survey.
Questions: product name, star rating (1-5, clickable stars), pros, cons, repurchase intent (yes/no).
Save to Google Sheets. Shadcn UI style.

Challenge 3: Event Registration Form

Build a registration form collecting name, contact info, preferred date (dropdown), number of attendees, and special requests.

Build an event registration form.
Questions: name, contact, preferred date (3/20, 3/27, 4/3 — pick one),
      number of attendees (1-5), special requests (optional).
Save to Google Sheets. Clean form design.

Deploy it too

Don’t just create survey.html and stop — upload it to Netlify or Vercel. Same method you learned in Step 12. Once you have a real URL, it feels real — “I built this survey.”

Practical Tips

Spam Prevention

To block bots from auto-submitting your survey, add a honeypot field (an invisible empty input). Bots fill every field, so if the honeypot has a value, it’s spam. A simple “I am not a robot” checkbox also works well.

Auto-Record Submission Time

Using new Date() in Apps Script automatically adds a timestamp, recording when each response came in. No need for a separate “submission time” question — the server stamps it automatically.

Running Multiple Surveys

If you need multiple surveys, create separate Apps Script endpoints per form. You can store them in different sheets within the same Google Sheets file, or use entirely separate Sheets. Just tell Claude Code “Save two surveys to separate sheets.”

Data Analysis

Since responses accumulate in Google Sheets, analysis is easy. Create pivot tables for satisfaction distributions, or build charts for visualization. Connect the Excel automation from Step 6 and you get “response collection → auto-analysis → report generation” in one go.

Next step: Connect automations

Don’t stop at the survey system. Connect Telegram notifications (Step 11) to get mobile alerts on each response. Link data visualization (Step 9) to auto-generate a dashboard. Combining these is what real work automation is all about.

References

  • Typeform Pricing — typeform.com/pricing
  • SurveyMonkey Pricing — surveymonkey.com/pricing
  • Google Apps Script Quotas — developers.google.com/apps-script/guides/services/quotas
  • Netlify Pricing — netlify.com/pricing