Tutorial
Send form leads to Google Sheets and Slack with n8n
Some links on this page are affiliate links. If you sign up through them, I may earn a commission at no extra cost to you. It never changes what I recommend. How this works.
What you'll build
A three-step n8n workflow: someone fills in a form, their details are added as a new row in Google Sheets, and you get a Slack message straight away.
What you need
- An n8n account. The cloud trial needs no card, or you can use a self-hosted copy.
- A Google account with a new spreadsheet
- A Slack workspace where you can add apps
Step 1: Set up the spreadsheet
Create a Google Sheet called Leads. In the first row, add these column headings: Date, Name, Email, Message. n8n uses this header row to match your form fields to columns.
Step 2: Add a form trigger
- In n8n, create a new workflow.
- Add the n8n Form Trigger node (search "form"). It gives you a hosted form with its own link, so you don't need a website form to start.
- Give the form a title, such as "Get in touch".
- Add three fields: Name (text, required), Email (email, required) and Message (textarea).
- Open the test URL, fill the form in once with sample details, and submit. n8n now has real data to work with in the next steps.
Already have a form on your site? You can swap this node for a Webhook node, or the trigger for your form tool, and keep the rest of the workflow the same.
Step 3: Add the row to Google Sheets
- Add a Google Sheets node after the trigger and choose the action that appends a row.
- Connect your Google account when asked.
- Pick your Leads spreadsheet and the sheet tab.
- Map the columns: drag Name, Email and Message from the form output into the matching columns. For Date, use the expression
{{ $now.toFormat('yyyy-MM-dd HH:mm') }}. - Run the node and check that a row appeared in your sheet.
Step 4: Send the Slack alert
- Add a Slack node after Google Sheets and choose the action that sends a message.
- Connect your Slack workspace and pick a channel, such as
#leads, or send it to yourself. - Write the message using fields from the form, for example:
New lead: {{ $('n8n Form Trigger').item.json.Name }} ({{ $('n8n Form Trigger').item.json.Email }}) - Run the node and check Slack.
Step 5: Turn it on
Save the workflow and switch it to active. Use the form's production URL, not the test one, on your site, in your link-in-bio or in emails. Every submission now lands in your sheet and pings you in Slack.
Ideas to extend it
- Add an If node to send only certain leads to Slack, such as those mentioning "quote" or "wholesale".
- Add an email step that sends the person an instant "thanks, I'll reply within a day" message.
- Add your email tool so leads join your newsletter list automatically.
Wondering whether n8n is the right tool for you at all? Read Make vs n8n. For a list of other jobs worth automating, see 10 automations every one-person business should run.