Webtzm Docs

Send your contact form to a Google Sheet

Bright Smile Dental already has a “Get in touch” form on its website. It emails nobody reliably and nothing keeps a record. In about ten minutes it will write every enquiry into a spreadsheet the practice owns.

Steps
6
Plan
Free
Output
Google Sheet row
Mode
Quick setup
The scenario
A two-chair dental practice has a contact form on brightsmiledental.com/contact. Reception wants every enquiry in one list they can sort, filter and tick off — not scattered across an inbox.
What you end up with
A Google Sheet in the practice's own Drive that gains one row per enquiry, with the date it arrived and the date it reached Google.
You need
  • The Google account the practice wants to own the spreadsheet
  • Access to edit the page the form is published on
  • The exact domain the form is published at — brightsmiledental.com, not a preview address
  1. Account › Google

    Sign in, then connect Google separately

    Signing in with Google tells Webtzm who you are. It does not give Webtzm access to your Sheets or your Drive. Those are a second, separate decision, and you make it here.

    Open Account › Google and connect Sheets and Drive. Leave Gmail sending alone for now — this tutorial sends no email.

    The Account → Google view listing Sheets, Drive and Gmail sending, each with its own connection state. Open full size
    Each Google service is listed with its own state, so you can connect only what the workflow you are building actually needs.

    Skipped this and gone straight to Quick setup instead? That works too — a workspace with nothing connected yet shows an inline Connect Google Sheets and Drive button right above the create button, so you can grant access without leaving the page.

  2. Workspace › Quick setup

    Open Quick setup

    Quick setup exists for exactly this case: a form that already exists and works, which needs somewhere to put its answers. It asks for a name, a domain, and two optional settings.

    The empty Quick setup panel with fields for workflow name, allowed domains, an owner-alert toggle and an optional success redirect, and a disabled Connect form and create Sheet button. Open full size
    Quick setup on a fresh workspace. The create button stays unavailable until the required setup is valid — an empty allowed-domain list is the usual reason.
  3. Workspace › Quick setup

    Name it, and name the domain it lives on

    1. In Workflow name, type something you will recognise in Drive six months from now. Clinic contact form beats Form 1.
    2. In Allowed domains, type the hostname only — brightsmiledental.com — and press Add. No https://, no path, no port, no wildcard.
    3. Leave Email me for each submission off for now. It sends a short Webtzm alert to reception on every enquiry — free on every plan — but it is not required to finish setup.
    4. Leave Success redirect empty too. Without one, a visitor who submits sees Webtzm's own confirmation page, which is enough while you are only testing.
    Quick setup filled in with the name Clinic contact form and brightsmiledental.com added as an allowed domain chip. Open full size
    The domain becomes a chip once added. Webtzm protects exactly https://brightsmiledental.com — every other origin is refused.

    Then select Connect form and create Sheet. Webtzm creates the spreadsheet in your Drive and returns a setup panel with the endpoint already on screen.

    Before you touch your own site, select Send a test submission next to the endpoint. It opens the console-hosted test page, submits through the real path, and the row appears in Dashboard › Submissions and the managed Sheet — so you know the wiring works before anything is public. This is the same three-step quickstart in miniature: sign in, create the workflow and paste the endpoint, then send a test and see the row.

  4. Workspace › Manage › Setup

    Point your form at the endpoint

    The setup panel is the one screen worth keeping open while you edit your site. It holds the endpoint, a four-step checklist, and a live indicator that flips the moment a real submission arrives.

    The workflow setup panel showing the submission endpoint, a copy button, a waiting-for-submission indicator, a four step checklist and a Send a test submission link. Open full size
    You can reopen this at any time from Manage — the row's actions menu has Setup. It offers Send a test submission too, the same test page from Quick setup.

    Copy the endpoint, then change three things in your existing markup: the action, the method, and any field that has no name.

    Your existing contact form, after three edits — replace the endpoint with the one your panel shows
    <form action="https://webtzm.com/submit/YOUR_FORM_ID" method="post">
      <label for="name">Your name</label>
      <input id="name" name="name" type="text" required>
    
      <label for="email">Email</label>
      <input id="email" name="email" type="email" required>
    
      <label for="message">How can we help?</label>
      <textarea id="message" name="message" rows="4"></textarea>
    
      <button type="submit">Send</button>
    </form>
  5. Your own site

    Publish, then send one safe test

    Publish the page, open it at its real address, and submit one enquiry using invented values. Do not use a real patient's details, and never put card numbers, passwords or anything confidential through a form field.

    A plain form POST like this one has no Webtzm helper on the page, so the browser navigates to a Webtzm confirmation page rather than showing a message inside the form. Both outcomes are readable, and both tell the visitor what happened.

    The Webtzm outcome page after a plain form POST, showing a heading, what Webtzm confirmed, what to do next, and the submission route diagram. Open full size
    The outcome page after a plain POST. This capture is the rejection wording, which is the version worth recognising: it names what was checked and what to do about it, and the route diagram shows exactly how far the submission got.
  6. Dashboard › Submissions

    Confirm it reached Google

    Acceptance and delivery are two different events, and Webtzm keeps them apart on purpose. The visitor is told the submission was accepted and queued. You are told, a moment later, that it reached Google.

    The Submissions list showing rows with Delivered, In delivery, Retry scheduled and Needs review statuses. Open full size
    Delivered is the one you are waiting for. The other states are covered in running it after launch.

What the Sheet looks like

Webtzm created one spreadsheet, named after the workflow, in the Drive of the account you connected. It has one working tab, and every accepted enquiry is one row.

Header row of the delivery tab
ColumnWritten byWhat it holds
webtzm_idWebtzmThe protected reference for this row. An Update or Delete workflow finds the row again by this value. Always column A.
name, email, messageYour formOne column per submitted field, named after the field's name attribute.
accepted_atWebtzmWhen Webtzm accepted the submission.
synced_atWebtzmWhen the row reached Google.

You may reorder any column except webtzm_id, hide the ones you would rather not look at, and add columns of your own. Every column after the first is matched by its header name on each write, and Webtzm only ever adds columns — it never removes them.

Where to go next

Something missing or wrong on this page? Tell support.