RG Forms logoRG Forms

A live contact form endpoint in under 2 minutes — no backend required.

No serverNo monthly feeYour data stays in your Drive

Sign in with Google, configure your fields, and get a POST endpoint you can drop into any site. Submissions land in your Google Sheet and hit your inbox instantly.

See how it works

Every submission flows straight to tools you own

Contact
Send
Your form, your HTML
Submissions
Your Google Sheet
New submission
Straight to your inbox

No server in betweenjust your Google account

Live in under 2 minutes

A live POST endpoint with no server, no backend, and no monthly fee — provisioned straight into your own Google account.

Instant email alerts

Every submission sends an email notification straight to your inbox, the moment it lands — with CC, BCC and reply-to support.

Your HTML, your data

Use your own form markup and design in any site or framework. Submissions go to a Google Sheet you own and control.

Nothing new to learn

Built entirely on tools you already own

No new account, no new dashboard. RG Forms just wires together three Google products you already trust — and hands you the keys.

Where it lives

Google Drive

A Drive folder holds your Google Sheet — browse, share, rename, or move it like any other folder in your own Drive. It is yours, not ours.

Your database

Google Sheets

Every submission lands as a row in a Sheet you own, with your column headers. Sort, filter, chart, or export it however you like.

Your endpoint

Apps Script

An Apps Script web app deployed under your account receives each POST, appends the row, and sends your email notification — a permanent HTTPS endpoint, no server required.

Works anywhere

Drop it into any site

POST JSON to your endpoint from any website, app, or no-code tool — no server proxy needed. Use text/plain to skip the CORS preflight; the body is still parsed as JSON.

send-contact.js
const res = await fetch(FORM_SCRIPT_URL, {
method: 'POST',
headers: { 'Content-Type': 'text/plain' },
body: JSON.stringify({
tab: 'contact',
fields, // { name, email, message, ... }
}),
});
const data = await res.json();
{ result: 'success' }200 · row added · email sent

Everything you need, nothing you don't

Production-ready form handling, all running inside your own Google account.

RGFORMS.md

RGFORMS.md export

Export an AI skill file compatible with any AI IDE — Claude Code, Cursor, Copilot, Windsurf, and more — so your assistant can wire up the form for you automatically.

Email notifications

Every submission triggers an email to your notification address. Configurable subject line.

CC / BCC support

Copy other addresses on every notification without exposing them in your frontend code.

Reply-to field

Map a form field (like email) as the reply-to address so you can respond directly.

Honeypot spam protection

A hidden field bots fill out; the script silently discards those submissions.

Captcha (Cloudflare Turnstile)

Optional server-side Turnstile verification on every submission. Toggle it on or off any time — no redeploy.

Multiple forms

Add more form tabs to the same sheet — separate tabs, same endpoint.

Edit fields any time

Update labels, add or remove fields — no reprovisioning needed.

Manifest JSON

Download your full configuration as JSON for your own records or tooling.