Nocturna Tech ConsultingNocturna Tech
Back to Blog
Automationn8nLead GenerationWorkflow

Build an n8n Lead Capture Form That Syncs to Notion and Slack

Learn to build an n8n lead capture workflow that auto-saves leads to Notion and pings your Slack team in under 10 seconds. Step-by-step guide.

Author

Team Nocturna

Published

22 April 2026

Reading time

5 min read

Build an n8n Lead Capture Form That Syncs to Notion and Slack

Most businesses lose leads in the gap between form submission and first response. Someone fills out your contact form, it lands in an email inbox, gets manually copied into a spreadsheet somewhere, and three hours later someone finally follows up. By then, the prospect has already talked to your competitor.

This is a solvable problem. With an n8n lead capture form workflow, a new lead can be saved to a Notion database and your sales team notified on Slack in under 10 seconds. It runs automatically, every time, without anyone touching a keyboard.

What You're Building

A four-node n8n workflow that:

  • Receives form submissions via webhook (works with any form builder)
  • Formats and cleans the incoming data
  • Creates a new entry in a Notion leads database
  • Sends a formatted message to your Slack sales channel

Total build time: about 45 minutes. Cost beyond your existing tools: $0 if you're already self-hosting n8n.

The Node Chain

Here's exactly what the workflow looks like in n8n:

Webhook → Set → Notion (Create Item) → Slack (Send Message)

Four nodes, left to right. Here's what each one does.

Webhook Trigger: Generates a unique POST URL. Your form builder submits to this URL on every new entry. Works with Typeform, Tally, JotForm, Webflow, Gravity Forms, or a plain HTML form. Anything that can POST JSON to a URL will work.

Set Node: Maps and cleans the raw form data before it hits Notion. This is where you combine first_name and last_name into Full Name, add a received timestamp, and normalize field names. Skip this node and you'll end up with inconsistent data in your database inside of a week.

Notion Node (Create Database Item): Connects via a Notion integration key, then creates a new row in your leads database with every mapped field: name, email, company, message, date, and any custom properties you've set up.

Slack Node (Send Message): Posts a formatted message to your chosen channel the moment a lead lands. You write the message template once using n8n's expression syntax, and it pulls in all the lead data dynamically on every run.

Setting It Up: Step by Step

  1. Add the Webhook node: In n8n, add a Webhook node, set the method to POST, and copy the test URL.

  2. Point your form at it: Paste the webhook URL into your form builder's custom webhook or submission URL field. Submit a test entry to fire the first event and confirm the data arrives in n8n.

  3. Add the Set node: Map the incoming JSON fields to clean, consistent names. Combine name fields, stamp the current date, and drop anything you don't need in Notion.

  4. Connect Notion: Create a Notion integration at notion.so/my-integrations, share your leads database with it, then add the Notion node in n8n. Choose "Create Database Item" and map each field to its matching Notion property.

  5. Connect Slack: Add a Slack node with OAuth2 or an incoming webhook. Set the action to "Send Message", choose your channel, and write your message template. Use n8n expressions like {{ $json["Full Name"] }} and {{ $json["Company"] }} to pull in live lead data.

  6. Activate: Switch from Test mode to Production. The live webhook URL is now running and will fire every time your form is submitted.

What This Actually Changes

Before this workflow, a lead sits in an inbox until someone notices it, gets manually copied somewhere, and gets followed up hours later. If it gets followed up at all.

After: in under 10 seconds, the lead is in Notion with a timestamp and your sales lead gets a Slack ping with the prospect's name, company, and message visible inline. At most companies that deploy this, average first-response time drops from 3 to 4 hours down to under 15 minutes, because the person who needs to act finds out immediately instead of discovering it at the bottom of their inbox.

You also get something the inbox never gave you: a searchable, filterable Notion database of every lead that's ever come in, with dates, statuses, and notes in one place.

Frequently Asked Questions

Does this work with any form builder?

Any form builder that supports custom webhook URLs will work. That includes Typeform, Tally, JotForm, Webflow, Gravity Forms, or a custom HTML form. If it can POST JSON to a URL, n8n can receive it. No special plugins or native integrations required.

Do I need to self-host n8n?

No. n8n Cloud starts at around $20/month and handles all hosting. If you're already running other automations on a self-hosted instance, this workflow adds zero additional infrastructure cost.

What happens if Notion or Slack is down when a lead comes in?

n8n includes built-in error handling and retry logic. You can configure it to retry failed nodes automatically and route an alert to a fallback channel if a step fails after multiple attempts, so no lead is silently lost.

Can I extend this workflow later?

Easily. Common additions include: sending an automated confirmation email to the prospect via Gmail or SendGrid, creating a follow-up task in Asana or ClickUp, or syncing the lead to your CRM alongside Notion. Each is a single node added to the chain.


Building this workflow for the first time takes about 45 minutes if you're comfortable with these tools. If you'd rather hand it off to someone who has done it dozens of times and wants error handling, field mapping, and edge cases covered properly from day one, reach out to Nocturna Tech. We'll have it running the same day.

Found this useful?

Let's put this into practice

If you're dealing with the exact problem covered in this article, we're happy to walk through your situation on a free call.