Documentation

WebAdish AutoSheets Documentation

Complete setup and troubleshooting guide for connecting WordPress forms to Google Sheets with the free and Pro versions of AutoSheets.

1. Installation

Via WordPress.org

  1. Log into your WordPress admin.
  2. Go to Plugins → Add New.
  3. Search for WebAdish AutoSheets.
  4. Click Install Now, then Activate.

Via ZIP upload

  1. Download the plugin ZIP file.
  2. Go to Plugins → Add New → Upload Plugin.
  3. Select the ZIP file and install it.
  4. Activate the plugin.
After activation: you should see WebAdish AutoSheets in the WordPress admin sidebar.

2. Connect Google Account

Create your Google Sheet

  1. Go to sheets.google.com.
  2. Create a blank spreadsheet.
  3. Name it something useful, such as Contact Form Submissions.

Add Google Apps Script

  1. In Google Sheets, open Extensions → Apps Script.
  2. Delete any default code.
  3. Paste the script below exactly as provided.
function doPost(e) {
  try {
    if (!e || !e.postData || !e.postData.contents) {
      throw new Error('No POST data received');
    }

    var data = JSON.parse(e.postData.contents);

    if (!data.fields) {
      throw new Error('Missing fields');
    }

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var formTitle = data.form_title || 'Unknown Form';
    var sheetName = formTitle.replace(/[\\\/\?\*\[\]:]/g, '_').substring(0, 100);
    var sheet = ss.getSheetByName(sheetName);

    if (!sheet) {
      sheet = ss.insertSheet(sheetName);
      var headers = ['Timestamp', 'Form ID', 'Entry ID'];

      for (var fieldId in data.fields) {
        var field = data.fields[fieldId];
        var fieldName = field.name || 'Field ' + fieldId;
        headers.push(fieldName);
      }

      sheet.appendRow(headers);
      sheet.getRange(1, 1, 1, headers.length)
           .setFontWeight('bold')
           .setBackground('#4285f4')
           .setFontColor('#ffffff');
      sheet.setFrozenRows(1);
    }

    var headerRange = sheet.getRange(1, 1, 1, sheet.getLastColumn());
    var headers = headerRange.getValues()[0];
    var row = [];

    for (var i = 0; i < headers.length; i++) {
      var header = headers[i];

      if (header === 'Timestamp') {
        row.push(new Date());
      } else if (header === 'Form ID') {
        row.push(data.form_id || '');
      } else if (header === 'Entry ID') {
        row.push(data.entry_id || '');
      } else {
        var value = '';
        for (var fieldId in data.fields) {
          var field = data.fields[fieldId];
          if (field.name === header) {
            value = field.value || '';
            break;
          }
        }
        row.push(value);
      }
    }

    sheet.appendRow(row);

    return ContentService.createTextOutput(JSON.stringify({
      success: true,
      message: 'Data saved'
    })).setMimeType(ContentService.MimeType.JSON);

  } catch(error) {
    Logger.log('ERROR: ' + error.toString());
    return ContentService.createTextOutput(JSON.stringify({
      success: false,
      error: error.toString()
    })).setMimeType(ContentService.MimeType.JSON);
  }
}

function doGet(e) {
  return ContentService.createTextOutput('WebAdish AutoSheets webhook is active');
}

Deploy as Web App

  1. Click Deploy → New deployment.
  2. Choose Web app.
  3. Set Execute as: Me.
  4. Set Who has access: Anyone.
  5. Deploy and authorize access.
  6. Copy the web app URL. It must end with /exec.

Connect WordPress

  1. Go to WebAdish AutoSheets → Settings in WordPress.
  2. Paste the web app URL.
  3. Save settings and run Test Connection.

3. Test Your Connection

  1. Submit a real form from the front end.
  2. Check the target Google Sheet for a new row.
  3. Open WebAdish AutoSheets → Activity Log to confirm the result.
Expected behavior: AutoSheets creates a tab named after the form, adds field headers automatically, and logs success or failure in the Activity Log.

4. How It Works

The sync flow is straightforward: user submits a form, AutoSheets intercepts the submission, sends it to Google Apps Script, and the sheet updates automatically within a second or two.

Supported forms

Free: Contact Form 7

Pro: Contact Form 7, WPForms, Gravity Forms, Formidable Forms, Ninja Forms, Elementor Forms, and Fluent Forms.

Privacy model: data goes directly from your WordPress site to your own Google account. WebAdish does not see or store form submission data.

5. Upgrade to Pro

Upgrade when you need more form builders, multiple spreadsheets, custom field mapping, conditional sync, advanced filtering, and 24-hour priority support.

  1. Choose your plan on the pricing page.
  2. Complete payment.
  3. Receive your license key by email.
  4. Go to WebAdish → Settings → Upgrade to Pro.
  5. Enter the license key and activate.
All Pro plans include: lifetime updates, priority support, all premium integrations, and a 30-day money-back guarantee.

6. Troubleshooting

Connection test fails

  • Make sure the Apps Script was deployed as a web app, not just saved.
  • Use the /exec URL, not the /dev URL.
  • Confirm Who has access is set to Anyone.
  • If you changed settings, deploy a new version and update the URL in WordPress.

Forms submit but no data appears in Sheets

  • Check the Activity Log first.
  • Confirm the form plugin is detected in settings.
  • Check whether the sheet tab was created under an unexpected form title.
  • Review Google Apps Script execution history for failures.

Blank entries in Sheets

Update to the latest plugin version, verify the Apps Script code is correct, and contact support if the Activity Log shows success but the rows are empty.

401 or 403 Apps Script errors

This often means the sheet owner changed or the deployment lost authorization. Re-deploy the script as the current owner and update the URL in WordPress.

Form plugin not detected

The free version supports Contact Form 7 only. Other form builders require Pro. If a Pro-supported plugin is active but not detected, deactivate and reactivate AutoSheets, then check again.

Google Apps Script rate limits

Google Apps Script imposes daily execution limits. If you hit rate limits, check for test loops, distribute load if needed, or reach out for enterprise guidance.

7. FAQ

Is my data secure?

Yes. Data goes directly from your WordPress site to your own Google account via HTTPS. WebAdish does not process or store submission data.

Does this slow forms down?

No. AutoSheets uses non-blocking sync, so users still see the form success message immediately.

How many submissions can I sync?

Unlimited. Neither the free nor the Pro version imposes submission limits.

Can I use multiple Google Sheets?

Free supports one sheet with multiple tabs. Pro supports multiple spreadsheets.

Can I sync old entries?

No. AutoSheets syncs new submissions going forward. Old data needs to be exported manually from the form plugin.

What is the difference between Pro plans?

The features are the same. The difference is the number of sites you can activate.

Do I need annual renewal?

No. AutoSheets Pro uses one-time pricing with lifetime use.

Need Help?

Free version support: WordPress.org support forums with a 48-hour response target.

Pro support: support@webadish.com with a 24-hour response target.

When contacting support, include your WordPress version, PHP version, form plugin name and version, the Activity Log error, screenshots, and any steps already tried.