workflow recipe

n8n Typeform to Notion Workflow With Validation

Use Typeform Trigger to receive submissions, IF to require key fields, Set to map a stable Notion payload, and Notion to create a clean database page.

Independent third-party notes. n8n is a trademark of its owner and is referenced only for compatibility and troubleshooting context.

Quick Answer

Use Typeform Trigger to receive submissions, IF to require key fields, Set to map a stable Notion payload, and Notion to create a clean database page.

Problem Pattern

Form-to-Notion workflows break when Typeform fields are renamed, optional answers are missing, or every submission creates a duplicate Notion page.

Key Facts

Trigger
Typeform Trigger starts the workflow when a form submission arrives.
Mapping
Set should map form answers into stable Notion property names.
Validation
IF should block incomplete or low-quality submissions.
Duplicate risk
Email, submission ID, or another stable key should be stored.

Recommended Steps

  1. Connect Typeform Trigger to the target form and capture a real sample submission.
  2. Map the fields needed by the Notion database with Set.
  3. Add IF checks for required fields such as email, company, source, or consent.
  4. Create a Notion page with explicit database properties instead of raw form JSON.
  5. Store the Typeform response ID so retries can be checked later.

Verification

  • A complete submission creates one Notion page.
  • A missing required field is skipped or routed for review.
  • Notion properties have the expected types and values.
  • A repeated submission does not create an unwanted duplicate.

Warnings

  • Renaming form fields can break mappings if you rely on labels instead of stable answer paths.
  • Do not send sensitive form responses into a shared Notion workspace without access review.
  • Notion database property types must match the values you send.

Best For

  • Lead intake
  • Research forms
  • Lightweight CRM databases

Not For

  • Regulated form data without access controls
  • High-volume forms needing a database queue

Common Mistakes

  • Mapping raw Typeform output directly into Notion.
  • Not storing a response ID.
  • Forgetting to test optional unanswered fields.
  • Changing Notion property types after the workflow is live.

Examples

Lead form to Notion A clean mapping keeps the Notion database usable.
Typeform Trigger: new response
IF: email exists and consent == true
Set: name, email, company, source, response_id
Notion: create database page
Slack optional: notify sales

FAQ

Why are Notion fields empty?

The Typeform answer path may differ from the sample data, or the Notion property type may not match the value being sent.

How do I avoid duplicate Notion pages?

Store a Typeform response ID or email key and check for an existing record before creating a page when duplicates matter.

Sources