App integration · All integrations

Connect Google Sheets to Formfy

Med spas handling botox appointments, filler consents, and laser intake forms often track clients in a spreadsheet — updated manually, hours after the fact, sometimes never. A missed row means a gap in the client record, a duplicate booking, or a compliance audit with missing consent logs. Every clinic wants signed intake forms, liability waivers, and treatment consents to reach Google Sheets the moment the client signs, no copy-paste required.

Formfy's webhook API fires the instant a client signs. Connect it to Zapier or Make.com and every med spa submission — intake, consent, or waiver — appends a new row to your Google Sheet automatically, no developer needed.

The workflow at a glance

Trigger

A med spa client signs an intake, consent, or liability waiver form in Formfy

Action

Formfy fires a form.signed webhook; your automation layer appends a row to Google Sheets

Result

Client name, email, treatment type, and signed timestamp are logged in the Sheet automatically

Step-by-step: connect Google Sheets to Formfy

Wire Formfy webhook events into Google Sheets via Zapier or Make.com so every signed intake, consent, or waiver appends a new client row automatically.

  1. Generate a Formfy API key

    Open the Formfy dashboard, go to Settings → API Keys, and click Create key. Copy the fk_live_… token to a password manager — it appears only once. Use fk_test_… during setup so test submissions do not pollute your live clinic log.

  2. Set up your Google Sheets client log

    In Google Sheets, add a header row with columns for Client Name, Email, Phone, Treatment Type, Signed At, and Signer Token. Grab the Sheet ID from the URL — the long alphanumeric string between /d/ and /edit — for your automation step.

  3. Subscribe to the form.signed webhook

    POST /api/v1/webhooks with your Bearer token, setting target_url to your Zapier or Make.com catch-hook URL and event_types to ["form.signed"]. Formfy returns a signing secret — paste it into your automation platform to verify every future delivery.

    POST/api/v1/webhooksSee in the OpenAPI spec →

  4. Map Formfy payload fields to Sheet columns

    In Zapier or Make.com, map the webhook body fields — signer_email, signer_name, signed_at, and submission_id — to your Sheet columns. Add an optional step to call GET /api/v1/forms/{id}/signed-pdf and store the returned download token as a PDF Link column.

    GET/api/v1/forms/{id}/signed-pdfSee in the OpenAPI spec →

  5. Test end-to-end and activate the automation

    Submit a test signature using your fk_test_… key. Within 30 seconds a new row should appear in the Sheet with all mapped columns populated. Verify the data, fix any empty cells, then swap to your live API key and activate the automation for real clinic bookings.

Subscribe to Formfy signed-form events for your med spa Sheet

Subscribe to the form.signed event. Your automation tool supplies the target_url from its catch-hook step; Formfy returns a signing secret used to verify every delivery.

curl -X POST https://formfy.ai/api/v1/webhooks \
  -H "Authorization: Bearer fk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "target_url": "https://hooks.zapier.com/hooks/catch/12345/abc/",
    "event_types": ["form.signed"]
  }'

Frequently asked questions

Do I need a dedicated Formfy app in Zapier to connect to Google Sheets?

No dedicated Formfy app in the Zapier marketplace is required today. Use Webhooks by Zapier as your trigger source — subscribe it to Formfy webhook events via the public API, then chain a Google Sheets Add Row action. The same approach works with Make.com using their Watch Webhook module and a Google Sheets Add a Row step.

Which form fields land in the Google Sheets row?

The webhook payload includes signer_email, signer_name, signed_at, form_id, submission_id, and the signer's unique token. Map these fields to your Sheet columns inside Zapier or Make.com. To include a signed PDF link, call GET /api/v1/forms/{id}/signed-pdf right after the trigger step and store the returned download URL as a PDF Link column.

How do I handle several treatment types in one spreadsheet?

Create one Formfy form template per treatment type — botox consultation, filler consent, laser treatment waiver — and route all of them to the same Sheet tab. Populate a Treatment Type column from the form title or a payload field. Alternatively, use a router step in your automation tool to send each template to a dedicated tab.

How quickly does a signed form row appear in Sheets?

Webhook payloads fire within seconds of the client completing a signature. End-to-end latency through Zapier and into Google Sheets is typically under 30 seconds. Formfy retries failed deliveries with exponential backoff for up to 24 hours, so a transient Zapier outage will not lose a client row — it queues and delivers once connectivity recovers.

Can I log forms that were sent by SMS the same way?

Yes. Formfy's sendForm endpoint delivers forms by email or SMS. The recipient's sign channel does not change the webhook payload — whether the client tapped a link in a text message or clicked an email link, the form.signed event fires identically. The same Zapier step appends the row to Sheets either way.

What happens if Google Sheets is unavailable when a form is signed?

Formfy queues the webhook payload and retries with exponential backoff. On the Zapier side, failed tasks appear in the Zap's task history and can be replayed once Sheets is available. Check Formfy's Webhook Deliveries log in the dashboard to inspect every attempt and manually replay any delivery that did not reach your automation layer.

How do I verify webhook payloads before writing rows to Sheets?

Every Formfy webhook includes an X-Formfy-Signature header computed as HMAC-SHA256(secret, raw_body). In Zapier, add a Code by Zapier step before the Sheets action to recompute the HMAC and compare it to the header. Reject any row where signatures do not match — this prevents spoofed submissions from polluting your med spa client log.

Does Formfy write to Google Sheets natively without an automation layer?

Not today — Formfy is API-first: you subscribe to webhook events and route payloads with the automation tool of your choice. Zapier, Make.com, and n8n all ship native Google Sheets connectors that pair directly with Formfy webhooks. A first-party Sheets connector is on the roadmap, but the webhook approach is production-ready for med spas right now.

Ready to wire Google Sheets into Formfy?

Spin up an API key, run your first webhook, and route signed forms wherever your team already works.