Log every WPForms entry to Google Sheets and Airtable

By General Input

Every time someone fills out your WordPress form, drop a row in a master spreadsheet for analytics and a tagged record in Airtable for your ops team to triage.

Integrations

  • WPForms
  • Google Sheets
  • Airtable

Type

Deterministic Code

Categories

  • Operations
  • Marketing

Build me a deterministic code workflow that logs every new WPForms submission to both Google Sheets and Airtable in parallel. No AI reasoning anywhere in the pipeline — every step is fixed and the same fields go to the same places every time.

Trigger: WPForms Subscribe to Form Entries (webhook). The workflow runs the instant a configured form is submitted on my WordPress site. Make the WPForms form ID configurable.

Step 1 — Normalize. Take the incoming WPForms entry payload and map its nested field-ID object into a flat record using a configurable field-mapping table (WPForms field ID → friendly field name). Also capture the entry's submission timestamp and the form name. The result should be a single normalized object I can hand to both downstream steps.

Step 2a — Google Sheets Append Values. Append one row to a master submissions sheet. The spreadsheet ID, sheet tab name (A1 range like 'Submissions!A:Z'), and column order must be configurable. The row layout should be: timestamp, form name, then one column per mapped field in the order I define. Use valueInputOption USER_ENTERED so dates and numbers parse like a normal sheet entry.

Step 2b — Airtable Create Records. In parallel with the Sheets append, create one record in a configured Airtable base and table. Make the base ID, table ID or name, and the field-name mapping (normalized field → Airtable field name) configurable. Pass typecast: true so string values coerce into the right Airtable field types (number, date, single select, etc.). Include the submission timestamp and form name as their own fields, and default any 'Status' field to 'New' so the ops team has a clear starting point.

Run Sheets and Airtable as independent branches — if one fails, the other should still complete, and the workflow should surface a clear error per branch.

Configuration I should be able to edit without touching code: WPForms form ID, Google Sheets spreadsheet ID + sheet range + column order, Airtable base ID + table, and the field mapping shared across both destinations.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seatsBuild audience segments from product usage and push to LoopsTurn the people who engage with your posts into Pipedrive leads