CaptainForm integration

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

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. 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. 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. 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.

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.