# Send landing-page leads to Google Sheets

> Plan a Pageree-to-Google-Sheets workflow using an automation webhook. Map fields, protect credentials, verify the created row, and handle delivery failures.

- Canonical: https://pageree.com/integrations/google-sheets/
- Published: 2026-09-15. Updated: 2026-09-15.
- Collection: Integrations (https://pageree.com/integrations.md)
- Site index for agents: https://pageree.com/llms.txt

**The short answer.** Use Pageree's HTTP delivery with an automation service that receives a webhook and creates a Google Sheets row. This is a configured workflow, not a native Pageree Google Sheets app. Verify both the webhook receipt and the final spreadsheet row in your account.

## Use a webhook workflow to create spreadsheet rows

You can route landing page submissions to Google Sheets through an automation service that receives an HTTP webhook and creates a row. This is a configured workflow, not a native Pageree-to-Sheets connection.

The setup below is a recipe to implement and test in your own accounts. It does not imply that your spreadsheet, permissions, or automation have already been verified. For a simpler initial destination, use [email delivery](https://pageree.com/guides/landing-page-form-to-email/).

## Prepare the sheet and automation

Create a spreadsheet with columns such as Received at, Page, Name, Email, and Message. Use a separate test sheet or clearly label test rows. Keep access limited to the people who need the leads.

In an automation service, choose a webhook trigger and a Google Sheets action that creates a row. For example, Zapier documents [Catch Hook triggers](https://help.zapier.com/hc/en-us/articles/8496288690317-Trigger-Zaps-from-webhooks) and offers [Google Sheets actions](https://zapier.com/apps/google-sheets/integrations). Check the service's current plan requirements before building around it.

Copy the generated webhook URL into the approved Pageree delivery configuration. Treat that URL as a secret: do not put it in the public page's HTML, analytics events, screenshots, or a public prompt example.

## Map the actual submitted payload

Pageree's default HTTP payload includes the form name, page, submission time, submitted data, and metadata. Inspect the sample your automation receives before mapping it. Field names depend on the form you published.

| Sheet column | Typical default payload source |
| --- | --- |
| Received at | `submittedAt` |
| Page | `page` |
| Name | `data.name`, if the form has a named `name` field |
| Email | `data.email`, if the form uses `email` |
| Message | `data.message`, or your actual field name |

Map values into plain cells. If your workflow handles arbitrary visitor text, check how it treats strings beginning with spreadsheet formula characters. Use the automation's text-safe handling where available instead of allowing submitted text to become a formula.

## Ask your assistant to configure delivery

```text
For my existing Pageree page [page ID], route accepted form submissions
to the webhook URL I provide privately. Keep credentials out of HTML.
Inspect the published form schema and the delivery tool's contract.
Use the default payload unless the receiving workflow needs a mapping.
Keep my approved email destination available for delivery fallback.
Show the configuration for review, then help me verify a public test
submission through to a new row in my Google Sheet.
Do not claim the sheet received a row without checking the destination.
```

## Test all the way to the row

Publish the form, enable the automation, and submit a realistic test through the public URL. Check the automation run and the row, including optional empty fields, punctuation, and long messages. Confirm that the correct spreadsheet and tab receive it.

A webhook returning success may only mean the automation accepted the request. A later Google Sheets action can still fail. Monitor failed automation runs as well as Pageree delivery status.

## Handle failures and duplicates deliberately

Pageree stores accepted leads before delivery and keeps a 30-day recovery backup. Failed HTTP delivery can fall back to the configured email destination. An email fallback is not proof that a spreadsheet row exists.

If an automation retries after a partial success, duplicate rows are possible. If deduplication matters, design it using the submission information actually available in your workflow; email alone may incorrectly merge separate enquiries.

Review access, retention, failed runs, and field mappings when you change the form. Use the [form troubleshooting guide](https://pageree.com/guides/ai-contact-form-not-working/) to distinguish browser errors from destination failures.

## Related
- [Save landing-page enquiries in Airtable](https://pageree.com/integrations/airtable.md): Map Pageree form submissions into a useful Airtable table through a webhook workflow. Check field types, permissions, repeated enquiries, and the final record.
- [Send landing-page form submissions to Zapier](https://pageree.com/integrations/zapier.md): Configure a Zapier Catch Hook for Pageree submissions, map the real payload, and verify the destination action. Learn plan requirements and recovery limits.
- [Send landing-page leads into a Make scenario](https://pageree.com/integrations/make.md): Build a Make webhook workflow for Pageree leads. Define the data structure, secure authentication, destination mapping, error handling, and verification.

## Build it with your agent

Pageree is an MCP server. Add https://mcp.pageree.com/ to an MCP client that supports Streamable HTTP and OAuth, sign in, and the agent can build, publish and measure the page. Setup for every supported client: https://pageree.com/docs.md. Sign up: https://console.pageree.com/signup.
