Save website form submissions to Google Sheets and get a Slack message
Send every contact or lead form straight into a Google Sheet and notify your team in Slack — no code, no Zapier, set up in about 10 minutes.
Every time someone fills in the contact form on your website, you want two things: the entry saved in a spreadsheet, and a quick heads-up for your team. With W flow that is one small workflow of three nodes — and there is a ready-made template for it.
What you need
- A free W flow account.
- A Google account with a spreadsheet (first row:
Name,E-mail,Message). - A Slack incoming webhook URL for the channel that should be notified (Slack → Apps → Incoming Webhooks → Add to Slack).
- A website form that can send its data to a URL (almost every form builder can: “webhook”, “POST to URL” or a few lines of JavaScript).
Step 1 — Start from the template
Open Workflows, click Templates and choose Webhook → Google Sheets → Slack. You get three connected nodes: Webhook (receives the form), Google Sheets — Append Row (saves it) and Slack Message (notifies you).
Step 2 — Connect Google Sheets
- Click the Google Sheets — Append Row node.
- Next to Google account click Connect Google and allow access in the window that opens. No password or API key is typed into W flow — the connection is stored encrypted and renews itself.
- Paste the Spreadsheet ID: the long part of the sheet's address between
/d/and/edit. - Check Values. The template writes
[["{{name}}", "{{email}}", "{{message}}"]]— one row with the three form fields. The names in{{…}}must match the field names your form sends.
Step 3 — Set up Slack
Open the Slack Message node, paste your incoming webhook URL and adjust the text, for example New lead: {{name}} ({{email}}).
Step 4 — Point your form at the webhook
- Open the Webhook node and copy its URL (it looks like
https://w-flow.tech/webhook/…). - Switch on Always listen, so the URL accepts submissions all the time — not only while you test.
- Optional but recommended: set a Secret. Your form then has to send it in the
X-W-Flow-Secretheader, so nobody else can fill your sheet. - In your form tool, set the webhook / action URL to the copied address with method
POSTand JSON or form data.
Step 5 — Test it
Press Run in the editor, then submit your form once. The Log console shows each node's input and output; a new row appears in the sheet and Slack pings the channel. If a node fails, the log names the exact field and an error code.
Ideas to extend it
- Add an IF Condition to only notify Slack for messages that contain “pricing” or come from company domains.
- Reply to the sender automatically with Gmail — Send Email.
- Let an AI node (Extract Structured Data) classify the request before it is saved.
Try it yourself
Create a free W flow account and build this workflow in a few minutes.
Start free