Skip to content

Send Contact Form 7 Submissions to Google Sheets

Log every Contact Form 7 submission as a new row in Google Sheets automatically. This is useful for keeping a running record of leads, support requests, or any form data your team needs to review, filter, or share.

This integration uses the Webhook Automation feature in Redirection for Contact Form 7 (available from the Marketer plan), paired with an automation platform that supports incoming webhooks — such as Zapier, Make, n8n, Pabbly Connect, or IFTTT.

This guide covers step-by-step instructions for Zapier, Make, and n8n. The same approach applies to any platform that accepts a webhook POST request.

What You'll Need

  • Redirection for Contact Form 7 on the Marketer plan or higher
  • A Google account with access to Google Sheets
  • Any automation platform that supports incoming webhooks — such as Zapier, Make, n8n, Pabbly Connect, or IFTTT

Before You Start

Open your Google Sheet and add a header row with column names that match your form fields. For example:

TimestampNameEmailSubjectMessage

Having the headers in place before connecting the integration makes field mapping much easier in all three platforms.

How It Works

CF7 Form Submission → RCF7 Webhook → Zapier / Make / n8n → New Row in Google Sheets

Option A – Connect via Zapier

Step 1 – Set Up the RCF7 Webhook

Follow the Zapier integration guide to install the Webhook addon, create a Zap with Webhooks by Zapier → Catch Hook as the trigger, and connect it to your CF7 form. Submit a test entry so Zapier has sample data, then continue below.

Step 2 – Add the Google Sheets Action

  1. In your Zap, click + to add an Action step.
  2. Search for and select Google Sheets.
  3. Choose Create Spreadsheet Row as the action event, then click Continue.
  4. Click Sign in to connect your Google account and authorize access.
  5. Configure the action:
    • Drive: Select the Google Drive where your sheet is stored
    • Spreadsheet: Choose your spreadsheet from the dropdown
    • Worksheet: Select the sheet tab (usually Sheet1)
  6. Zapier will load your column headers as individual fields. Map each one to the corresponding field from the webhook trigger step. For example:
    • Namename
    • Emailemail
    • Subjectsubject
    • Messagemessage
    • Timestamp → select Zap Meta Performed At from the trigger data
  7. Click Test action. Zapier will add a test row to your sheet.
  8. Open your Google Sheet to confirm the row appeared with the correct values.
  9. Click Publish to activate the Zap.

Option B – Connect via Make

Step 1 – Set Up the RCF7 Webhook

Follow the Make integration guide to install the Webhook addon, create a scenario with a Custom Webhook trigger, and connect it to your CF7 form. Submit a test entry so Make has sample data, then continue below.

Step 2 – Add the Google Sheets Module

  1. In your scenario, click + after the Webhooks module to add a new module.
  2. Search for and select Google Sheets.
  3. Choose Add a Row as the action, then click OK.
  4. Click Add next to the Connection field to connect your Google account and authorize access.
  5. Configure the module:
    • Spreadsheet ID: Click the dropdown and select your spreadsheet, or paste its ID directly
    • Sheet Name: Select the sheet tab where rows should be added
  6. Make will display a field for each column header in your sheet. Map each one to the corresponding value from the webhook data. For example:
    • Namename
    • Emailemail
    • Subjectsubject
    • Messagemessage
    • Timestamp → use Make's built-in now function or map the timestamp from the webhook
  7. Click OK to save the module.
  8. Click Run once, then submit your CF7 form with test data.
  9. Open your Google Sheet to confirm a new row was added with the correct values.
  10. Click Save and toggle the scenario ON using the switch in the bottom left corner.

Option C – Connect via n8n

Step 1 – Set Up Google Credentials in n8n

Before connecting Google Sheets, you need to add a Google credential in n8n.

  1. In n8n, go to Settings → Credentials and click Add Credential.
  2. Search for and select Google Sheets OAuth2 API.
  3. Follow the on-screen instructions to authorize your Google account.

For detailed steps on setting up Google credentials in n8n, refer to n8n's Google credentials guide.

Step 2 – Set Up the RCF7 Webhook

Follow the n8n integration guide to install the Webhook addon, create a workflow with a Webhook node as the trigger, and connect it to your CF7 form. Submit a test entry so n8n has sample data, then continue below.

Step 3 – Add the Google Sheets Node

  1. In your workflow, click + after the Webhook node to add a new node.
  2. Search for and select Google Sheets.
  3. Set the Operation to Append or Update Row.
  4. Under Credential, select the Google Sheets credential you created in Step 1.
  5. Configure the node:
    • Resource Locator: Select By URL, then paste your Google Sheet URL
    • Sheet: Select the sheet tab from the dropdown
  6. Under Columns, click Add Field for each column and map it to the corresponding value from the Webhook node output. For example:
txt
Name -> {{$json.name}}
Email -> {{$json.email}}
Subject -> {{$json.subject}}
Message -> {{$json.message}}
  1. Click Execute Node to run a test. Open your Google Sheet to confirm a new row appeared.
  2. Once confirmed, click Back to canvas and save the workflow.
  3. In your RCF7 Webhook action, replace the Test URL with the Production URL from the n8n Webhook node, then save the form.
  4. Toggle the workflow Active using the switch in the top right of the n8n editor.

Troubleshooting

No row was added after the test submission Check that the automation platform received data from the webhook — look at the Zap history, Make run history, or n8n execution log for the trigger step. If data did not arrive, verify the webhook URL in your RCF7 Webhook action is correct and the form was saved after adding the action.

The row was added but some columns are blank The field names in your RCF7 webhook JSON payload must match the CF7 shortcode tags in your form exactly (for example, [your-name] not [name]). Use the Available mail tags dropdown in the RCF7 webhook action settings to confirm the correct tag names.

The form shows "There was an error trying to send your message" This error comes from CF7's built-in email notification failing and is unrelated to the webhook. Fix it by installing an SMTP plugin such as WP Mail SMTP or Fluent SMTP. Alternatively, add skip_mail: on to your form's Additional Settings tab to bypass email sending during testing.

n8n: rows stop being added after testing Make sure you replaced the Test URL with the Production URL in your RCF7 Webhook action, and that the workflow is set to Active in n8n. The Test URL only works while the workflow is in listening mode.

Make: the spreadsheet dropdown is empty Make sure the Google account you connected has access to the spreadsheet. If the sheet was created by or shared from a different account, connect that account instead. You can also paste the Spreadsheet ID directly rather than using the dropdown.