Kotti Integration

Instrument Kotti forms with Google Sheets in minutes

Load the LeadToSheet snippet in your Kotti base layout to capture server-rendered or SPA form submissions without building custom endpoints.

Platform category: Content Management System

Why teams use LeadToSheet for Kotti

LeadToSheet hooks into native submit events across your Kotti views and components, respecting async validation and letting you optionally call the capture API for bespoke flows.

Works with server templates

Stay in control of your Kotti views while LeadToSheet listens for native submit events.

SPA compatible

Compatible with fetch/XHR powered flows and frameworks that hijack form submissions.

Rich metadata

Appends attribution, URL path, and device data so product teams gain context.

Setup checklist

  1. 1

    Load the snippet in your base template

    Place the script inside the Kotti layout.pt template or fanstatic include so every view inherits it.

    Tip: For component-based stacks, import it once in your app shell.

    Kotti layout embed

    <script src="https://cdn.leadtosheet.com/sdk.min.js" data-client="YOUR_CLIENT_KEY" data-platform="kotti"></script>
  2. 2

    Optionally emit manually

    When you intercept submissions with fetch or SPA routers, call `window.leadtosheet.capture()` with your payload.

    Tip: Include a form name and key fields for clean analytics.

  3. 3

    Monitor sheet output

    Check Google Sheets to confirm submissions, context, and attribution are populating.

    Tip: Share the sheet with product and ops teams for faster iteration.

Snippet

Kotti embed snippet

Place this inside your Kotti base layout to watch every form submission.

<script src="https://cdn.leadtosheet.com/sdk.min.js" data-client="YOUR_CLIENT_KEY" data-platform="kotti"></script>

Admin tools

Capture internal tool submissions and sync them into operational spreadsheets.

Onboarding flows

Track multi-step onboarding or signup flows handled inside your app.

Community apps

Log feedback, applications, and member forms from custom portals.

Frequently asked questions

Can I trigger submissions manually?
Yes. Use `window.leadtosheet.capture()` to emit payloads whenever you bypass native form submits.
Does it support AJAX or fetch forms?
Absolutely. The snippet detects successful submissions and you can call the capture helper for bespoke flows.
How do I avoid duplicate rows?
LeadToSheet deduplicates by submission fingerprint and timestamp, and you can include unique IDs in the payload.