← Back to blog

Make: Log contact form submissions to Google Sheets and Slack

Build idea, not a verified tutorial. This was drafted by an automation Daniel built. Tool interfaces change often — check the current docs before relying on the steps.

When a lead fills in a contact or "request a demo" form, someone has to manually copy their details into a spreadsheet and tell the team. That's easy to forget — and slow. This build wires the form straight to Google Sheets and Slack the moment someone submits it.

TRIGGERORCHESTRATEOUTPUTContact formsubmittedMake Custom Webhookreceives dataRow added to GoogleSheetsSlack message sentto #sales
How it flows
1

Prepare your Google Sheet

Before you touch Make, set up the spreadsheet that will store your leads. A spreadsheet is just a Google Sheets file; a sheet is the tab inside it. Create one with column headers in row 1: Name, Email, Message, Submitted At. These column names matter — you'll map data to them later.

Google Sheets · Your new leads spreadsheet
1 Row 1 headers — type one per column
A1Name
B1Email
C1Message
D1Submitted At
2 Name the file something clear
Click 'Untitled spreadsheet' at the top and rename it to something like 'Inbound Leads'. Leave the tab name as Sheet1. Google Sheets: get started →
2

Create a new Make scenario

A scenario in Make is a visual automation workflow — a series of connected steps that run automatically. You build it by clicking blocks together on a canvas. Start by creating a blank one.

Make · Dashboard
1 Click this on the Make dashboard
Create a scenario
2 You'll land on a blank canvas
You'll see a grey canvas with a single large '+' circle in the middle. That's where your first module goes. A module is one step in your automation — like 'receive data' or 'add a row'. Make: Create your first scenario →
3

Add a Custom Webhook trigger

A webhook is a unique web address that Make generates for you. When your contact form sends data to that address, Make wakes up and runs the scenario. This is the first module — the trigger. A trigger is the event that starts the whole automation.

Make · Scenario canvas · Module picker
1 Click the big '+' circle on the canvas
+
2 Search for Webhooks in the module library
3 Inside the module, click Add to create a new webhook
Add
4 Name the webhook and save
Webhook nameContact Form
Click Save — Make generates a unique HTTPS URL
4

Copy the webhook URL and paste it into your form

Make now shows you a unique URL — this is the address your contact form will send data to. Copy it, then go to your form tool (whatever you use: Typeform, Tally, a custom HTML form, etc.) and paste it into its 'webhook' or 'form submission' settings. The exact location differs by tool, but look for 'Notifications', 'Integrations', or 'Webhooks' in your form's settings. Once you paste it and submit a test entry, Make detects the data structure automatically.

Make · Custom Webhook module
1 Copy the URL Make gives you
https://hook.eu2.make.com/xxxxxxxxxxxxxxxxxxxxxxxxCopy
2 Paste it into your form tool's webhook setting, then submit a test
After pasting the URL in your form tool, submit a test entry. Go back to Make — you'll see 'Data structure successfully determined'. Make has now learned the field names your form sends. Make webhooks: full walkthrough →
5

Add a Google Sheets 'Add a Row' module

Now add the second module. This one takes the data Make just received and writes a new row into your spreadsheet. Click the '+' that appears on the right edge of the webhook module to chain a new step.

Make · Scenario canvas · Module picker
1 Search for Google Sheets
2 Connect your Google account, then point to your spreadsheet
ConnectionSign in with Google (one-time)
SpreadsheetInbound Leads
SheetSheet1
3 Map the form fields to your sheet columns
name (from webhook)Name
email (from webhook)Email
message (from webhook)Message
now() — today's dateSubmitted At
Click the field, then pick the value from the webhook data that appears in the dropdown
6

Add a Slack 'Create a Message' module

Chain one more module to send an instant Slack alert. This way your sales team sees the lead the moment it lands, without checking a spreadsheet. You'll need to be a member of the Slack workspace and have a channel ready — something like #sales or #inbound-leads.

Make · Scenario canvas · Module picker
1 Search for Slack
2 Configure the Slack message
ConnectionSign in with Slack (OAuth, one-time)
Channel#sales
Text🔔 New lead: {{name}} ({{email}}) — {{message}}
Use the dropdown to insert the mapped fields from the webhook into the message text
7

Test and turn the scenario on

Run the scenario manually once with your test submission to confirm both modules fire correctly. If the row appears in your Sheet and the Slack message lands, you're done. Then flip the scenario live. From now on it runs instantly every time your form receives a submission — no polling delay.

Make · Scenario canvas · Bottom toolbar
1 Run a one-off test
Run once
2 Check the result in Google Sheets
Inbound Leads · Row 2Live
NameJane Smith
Emailjane@example.com
MessageI'd love a demo
Submitted At2026-08-13
3 Activate the scenario so it runs automatically
Activate scenario

What you get

Every form submission instantly creates a row in your Inbound Leads spreadsheet and posts a formatted message to your sales Slack channel — no manual work. Your team always has a full log of leads and gets notified in real time. Rough effort: ~1–2 hours, free tiers on all three tools (Make free plan includes 1,000 operations/month; Google Sheets and Slack are free).

Sources