Skip to templates
AI Craft Pad
CONNECTED SERVICE RECIPE · Sales operations

Contact form → Google Sheets

Validate contact submissions, skip recorded event IDs and append new rows to a review sheet.

Preview by defaultOwn accounts required for live modeMIT · AI Craft Pad
1Protected form
2Validate fields
3Read event ledger
4Append unseen event

What happens in live mode

A protected webhook receives one contact submission. Live mode reads the target sheet event IDs, removes a previously recorded event from the append plan and writes a new row with RAW values. The four columns are event_id, email, firstname and lastname. Preview mode only shows the proposed row.

The downloaded workflow is unpublished and its Configuration mode is preview. In preview, the service branch is skipped. The website demo below also stays local. Changing a JSON input cannot enable live mode; that setting belongs to the workflow owner.

LOCAL PREVIEW · NO SERVICE REQUESTS

Inspect the data before connecting.

Edit the synthetic input to see the proposed fields, rows or report text. This is a transformation preview, not a call to HubSpot, Google, a feed or Telegram. No credentials belong in this form.

Ready. Inspect the preview before any live configuration.

Connect and test in your own n8n

Import the file without publishing it. The workflow includes its source, validation, duplicate/empty handling where applicable, and destination nodes. Credentials are intentionally unbound; select your own credentials in n8n rather than editing secrets into Code nodes.

  1. Create a Google Sheet with a Leads tab and headers event_id, email, firstname, lastname in A1:D1. Copy its spreadsheet ID into Configuration.
  2. Create a Google Sheets OAuth2 credential in n8n. Use custom scopes with https://www.googleapis.com/auth/spreadsheets and share the target sheet with the connected account. Select the credential in both Sheets nodes.
  3. Assign a separate n8n Header Auth credential to Authenticated form. Never place a token in the JSON body or download.
  4. Run the manual sample in preview. Change mode to live in a test sheet, then send an authorized form event to the n8n test webhook URL.
  5. Check that the appended cells match the preview and remain literal text. Repeat the same event_id and confirm there is no second append before publishing.
Download connected n8n recipe

SHA-256: e0eb146f15e3fd163a3ca1bc8da012b98468138ed973d76c3f9ab793e6451335

Failure, repeat runs and recovery

Reads at most the configured A2:D1001 range: extend it deliberately when the ledger grows. Duplicate suppression covers IDs visible in that range and is not atomic under concurrent executions. Serialize inbound writes or use a transactional store when exactly-once processing is required. Never blindly retry a timed-out append.

HTTP request nodes have a 10-second timeout and stop on errors. Writes are not automatically retried. Authentication failures, rate limits and ambiguous timeouts require inspection in your own n8n execution view and destination account before rerunning. Do not turn a provider error into an empty successful lookup.

Data handling

Contact fields are sent to the selected Google Sheet only in live mode. OAuth access can cover more spreadsheets than this flow uses; restrict the account and sharing appropriately. Raw input stays subject to your n8n execution-log retention.

The export disables saved success/error execution data and manual-execution saving. Your instance logs and provider retention still apply; review those settings for your account. No live account is connected to AI Craft Pad by this page.

Costs and requirements

Needs your n8n instance, Google OAuth setup and a Google account with spreadsheet access. Hosting and API quotas apply. No AI API is required.

Continue with another task