RG Forms logoRG Forms
Documentation

How RG Forms works

RG Forms gives you a live contact form endpoint in under 2 minutes — backed entirely by a Google Sheet you own. No server to manage, no monthly fee, no third-party data storage.

The idea

Most contact form tools store your submissions on their servers. You pay monthly, you depend on their uptime, and your data lives in their database. RG Forms does the opposite: every submission goes directly into a Google Sheet in your own Google Drive, sent by an Apps Script you own and control.

RG Forms provisions that sheet and script for you — the whole thing takes about 90 seconds. After that, your endpoint works forever at no cost, independent of any RG Forms server.

Architecture

RG Forms is a fully static web app. There is no RG Forms server, no database, and no backend. Every API call during setup goes directly from your browser to Google using your own OAuth token.

Setup (one time, in your browser):

  Your Browser
      ├─── Google OAuth        ──▶  Short-lived token (memory only)
      ├─── Google Drive API    ──▶  Creates Sheet + Drive folder
      └─── Apps Script API     ──▶  Creates & deploys form handler

Live endpoint (after provisioning):

  Your Website / App
      └─── POST to script URL
                └─── Apps Script (in your Google account)
                          ├─── Appends row to Google Sheet
                          ├─── Sends email notification
                          └─── Returns { result: "success" }

Step-by-step walkthrough

1

Sign in with Google

You grant RG Forms a temporary OAuth access token. This token lives only in browser memory — it's never sent to any RG Forms server, never written to disk, and disappears when you close the tab.

2

Configure your form

Give your form a name (e.g. 'Contact' or 'Get a Quote'), set the email address for notifications, and configure your fields. You can add any fields you need — text, email, phone, textarea, select — and mark them required or optional.

3

We provision everything

RG Forms creates a Drive folder, a Google Sheet with your form's column headers and a hidden _manifest tab, and an Apps Script project. The script is deployed as a public HTTPS web app — giving you a permanent endpoint URL.

4

Authorize your script

Because the script was deployed via API, Google requires a one-time manual authorization. Open the script URL shown in the dashboard, sign in if prompted, and approve the permissions dialog. The script only requests access to its one spreadsheet and email sending — nothing else.

5

Start receiving submissions

POST JSON to your endpoint from any website, app, or no-code tool. Each submission appends a row to your Google Sheet and sends you an email notification. You can edit field labels, add new fields, or update email settings at any time without reprovisioning.

What gets created in your Google Drive

A Drive folder

Named after your form slug. Contains your Google Sheet. Browse, share, and manage it like any other Drive folder.

A Google Sheet

One tab for your form submissions, pre-populated with your column headers, plus a hidden _manifest tab the script reads on every request.

An Apps Script web app

Handles form submissions (POST), appends rows, and sends email notifications. Deployed as a permanent HTTPS endpoint under your Google account.

Submitting to your endpoint

Your endpoint accepts a JSON POST with a tab and fields object. Use Content-Type: text/plain — this avoids a CORS preflight that Apps Script cannot respond to, while the body is still parsed as JSON.

// POST directly from your site — no server proxy needed.
// Use Content-Type: text/plain to avoid a CORS preflight.
// Apps Script reads e.postData.contents as JSON regardless.
const res = await fetch(FORM_SCRIPT_URL, {
  method: 'POST',
  headers: { 'Content-Type': 'text/plain' },
  body: JSON.stringify({
    tab: 'contact',
    fields,          // { name, email, phone, message, ... }
  }),
});
const data = await res.json();
// { result: 'success' } or { result: 'error', error: '...' }

The RGFORMS.md export from your dashboard gives any AI assistant the exact field names, tab name, and endpoint URL — so it can wire up the form for you automatically.

What's included

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.

Multiple forms

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

Edit fields any time

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

RGFORMS.md export

Export an AI skill file compatible with any AI IDE — Claude Code, Cursor, Copilot, Windsurf, and more.

Manifest JSON

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

Limitations to know about

Email quota

Google Apps Script accounts are limited to roughly 100 email notifications per day on free Google accounts. This is a Google-imposed quota.

One-time script authorization required

After provisioning, you must open the script URL once while signed in to Google and approve the permissions. This is a Google requirement for scripts deployed via API.

Apps Script API must be enabled

The Google Apps Script API must be enabled in your Google account before provisioning. RG Forms will detect this and show a direct link to enable it — it's a single toggle.

Honeypot-only spam protection

Forms support a honeypot hidden field. For high-traffic forms, consider adding reCAPTCHA to your frontend HTML manually.

No data leaves your Google account. RG Forms is a static app that makes API calls on your behalf using a short-lived access token that never touches our servers. Form submissions go directly from your website to your own Apps Script endpoint and land in your own Google Sheet. Read our privacy policy.

From the makers of RG Forms

Need a full website backend? Try Sheetspin →

Instantly provision a complete multi-tab Google Sheet backend — blog, gallery, events, newsletter, site config, and more — in under 2 minutes.