Sync CaptainForm submissions to Google Sheets
CaptainForm renders inside an iframe from 123FormBuilder's cloud. LeadToSheet captures responses on the parent page so every entry lands in your Google Sheet without modifying the embed.
CMS: WordPress
Overview
CaptainForm, now part of 123FormBuilder, builds forms in an external dashboard and embeds them on WordPress through an iframe. Because submissions happen inside the iframe, traditional JavaScript hooks miss them. LeadToSheet's cross-frame listener bridges this gap, capturing every field value and syncing it to Google Sheets in real time.
Implementation checklist
- 1
Add the LeadToSheet snippet to your theme
Inject the script in your WordPress footer via a header/footer plugin or your theme's functions.php. It detects CaptainForm iframes automatically.
LeadToSheet snippet
<script src="https://cdn.leadtosheet.com/sdk.min.js" data-client="YOUR_CLIENT_KEY"></script> - 2
Enable cross-frame capture in the dashboard
In your LeadToSheet settings, toggle the iframe capture option so the SDK listens for postMessage events from the 123FormBuilder embed.
Tip: CaptainForm uses the same embed domain as 123FormBuilder, so one setting covers both.
- 3
Submit a test entry through the live embed
Fill out the CaptainForm on your WordPress page and confirm the row appears in your connected Google Sheet with all field names intact.
Customization ideas
Map cloud form fields to Sheet columns
CaptainForm field names come from the 123FormBuilder dashboard. Rename columns in your Google Sheet once and future entries follow the same mapping.
Route by form template
If you use multiple CaptainForm templates on different pages, add data-leadtosheet-tab attributes on each embed wrapper to send entries to separate Sheet tabs.
Pair with payment confirmation emails
CaptainForm supports payment fields via 123FormBuilder. Use Apps Script on your Sheet to trigger confirmation emails when a payment row arrives.
Troubleshooting
Iframe submissions not captured
Verify cross-frame capture is enabled in your LeadToSheet dashboard. The SDK needs permission to listen for postMessage events from the 123FormBuilder domain.
Field names appear as generic IDs
CaptainForm assigns internal IDs to fields. Rename them inside the 123FormBuilder dashboard under field settings to get human-readable Sheet headers.
Caching plugin stripping the script
Some aggressive caching plugins (WP Rocket, W3 Total Cache) strip inline scripts. Add the LeadToSheet CDN domain to your cache exclusion list.
Resources
Frequently asked questions
- Does LeadToSheet work with the legacy CaptainForm plugin?
- Yes. The legacy CaptainForm plugin and the newer 123FormBuilder plugin both render the same iframe embed, so the cross-frame listener handles both identically.
- Will CaptainForm's built-in email notifications still fire?
- Absolutely. LeadToSheet captures data on the client side and does not interfere with 123FormBuilder's server-side email or webhook notifications.
- Can I capture file upload URLs?
- File uploads in CaptainForm are hosted on 123FormBuilder's servers. LeadToSheet records the download URL so you can access files directly from your Sheet.
