Intermediate~20 min setupProductivity & FormsVerified April 2026
Notion logo
Typeform logo

How to Track Event Signups from Typeform to Notion with N8n

Auto-import Typeform event registrations into a Notion database with attendee details, dietary preferences, and check-in tracking.

Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.

Best for

Teams who need custom data processing and don't mind managing their own automation server.

Not ideal for

Non-technical teams who need this running today without server setup time.

Sync type

real-time

Use case type

import

Real-World Example

💡

A 25-person marketing agency uses this to track workshop registrations from their website. Before automation, their coordinator manually copied 50+ weekly signups from Typeform into Notion for event planning. She'd miss registrations that came in after hours and waste 45 minutes every Monday morning doing data entry. Now registrations appear in Notion instantly with dietary restrictions formatted for catering orders.

What Will This Cost?

Drag the slider to your expected monthly volume.

/mo
505005K50K

Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.

Prices shown for annual billing. Based on published pricing as of April 2026.

Estimated ROI

1000

min saved/mo

$583

labor value/mo

Free

no platform cost

Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.

Implementation

Skip the setup

Import this workflow directly into n8n

Copy the pre-built n8n blueprint and paste it straight into n8n. All modules, filters, and field mappings are already configured — you just need to connect your accounts.

Before You Start

Make sure you have everything ready.

A Typeform with event registration questions (name, email, dietary preferences, t-shirt size)
A Notion workspace where you can create databases
Typeform Personal Access Token from your account settings
N8n instance running (cloud or self-hosted)
Basic familiarity with creating Notion databases and properties

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Nameanswers.field_name
Emailanswers.field_email
Registration Datesubmitted_at
3 optional fields▸ show
Dietary Preferencesanswers.field_dietary
T-shirt Sizeanswers.field_tshirt
Check-in Statuschecked_in

Step-by-Step Setup

1

Notion Workspace > New Page > Database

Create the Notion Database

Set up your event registration database in Notion first. This creates the structure where N8n will send registration data.

  1. 1Open Notion and create a new page in your workspace
  2. 2Type '/database' and select 'Table - Full page'
  3. 3Name it 'Event Registrations' or similar
  4. 4Add columns: Name (Title), Email (Email), Dietary Preferences (Text), T-shirt Size (Select), Check-in Status (Checkbox)
What you should see: You should see an empty table with 5 columns ready for event data.
2

Notion Settings > My Integrations > New Integration

Get Notion Integration Token

Create an internal integration to let N8n write to your database. Notion requires this for API access.

  1. 1Go to https://www.notion.so/my-integrations
  2. 2Click 'Create new integration'
  3. 3Name it 'N8n Event Import' and select your workspace
  4. 4Copy the Internal Integration Token that appears
What you should see: You should have a token starting with 'secret_' copied to your clipboard.
Common mistake — Don't share this token publicly — it gives full access to any page you connect it to.
3

Notion Database > Share > Invite

Share Database with Integration

Connect your integration to the specific database. Without this step, N8n can't see or write to your table.

  1. 1Go back to your Event Registrations database in Notion
  2. 2Click 'Share' in the top right
  3. 3Click 'Invite' and search for your integration name 'N8n Event Import'
  4. 4Select it and click 'Invite'
What you should see: Your integration should appear in the shared access list with 'Can edit' permissions.
4

Browser Address Bar

Copy Database ID

N8n needs the database ID to know which table to update. This ID is buried in the URL.

  1. 1Look at your browser's address bar on the database page
  2. 2Find the long string after notion.so/ and before the ?
  3. 3Copy everything between the last slash and the question mark
  4. 4It should be 32 characters of letters and numbers
What you should see: You should have a database ID like 'a1b2c3d4e5f6789012345678901234ab' copied.
Common mistake — Make sure you copy the database ID, not the page ID — they look similar but the database ID comes after you open the full-page view.
5

N8n > Workflows > New > Add Node

Create N8n Workflow

Start building your automation workflow in N8n. This creates the canvas where you'll connect Typeform to Notion.

  1. 1Open N8n and click 'New Workflow'
  2. 2Click the '+' icon to add your first node
  3. 3Search for 'Typeform' in the node library
  4. 4Select 'Typeform Trigger' from the results
What you should see: You should see a Typeform trigger node on your workflow canvas.
6

Typeform Node > Credentials > Form Selection

Configure Typeform Trigger

Connect N8n to your Typeform account and select the event registration form. This tells N8n when new responses arrive.

  1. 1Click on the Typeform node to open its settings
  2. 2Click 'Create New Credential' and add your Typeform Personal Access Token
  3. 3Select your event registration form from the Form dropdown
  4. 4Choose 'form_response' as the Event type
What you should see: The node should show 'Connected' status and display your form name.
Common mistake — Use 'form_response' not 'form_response_landed' — the latter fires before users complete the form.
n8n
+
click +
search apps
Notion
NO
Notion
Configure Typeform Trigger
Notion
NO
module added
7

Add Node > Notion > Database > Create

Add Notion Node

Add the destination node where registration data will land. This creates new rows in your Notion database.

  1. 1Click the '+' icon after your Typeform trigger
  2. 2Search for 'Notion' and select 'Notion'
  3. 3Choose 'Database' as the Resource
  4. 4Select 'Create' as the Operation
What you should see: You should see a Notion node connected to your Typeform trigger with a line between them.
8

Notion Node > Credentials > New

Connect Notion Credentials

Authenticate N8n with Notion using your integration token. This gives N8n permission to write to your database.

  1. 1Click on the Notion node to open settings
  2. 2Click 'Create New Credential'
  3. 3Paste your Notion integration token in the 'Internal Integration Secret' field
  4. 4Click 'Save' and test the connection
What you should see: You should see 'Connection tested successfully' and the credential saves.
9

Notion Node > Database ID > Properties

Select Target Database

Point N8n to your Event Registrations database. This tells Notion exactly where to create new rows.

  1. 1In the Notion node, paste your database ID in the 'Database ID' field
  2. 2Click 'Add Property' to start mapping fields
  3. 3You should see your database columns appear in the dropdown
What you should see: The Database dropdown should populate with 'Event Registrations' and show your column names.
Common mistake — If your database doesn't appear, double-check that you shared it with your integration in step 3.
10

Notion Node > Properties > Field Mapping

Map Registration Fields

Connect Typeform answers to Notion columns. This determines which data goes where in your database.

  1. 1For 'Name' property, click the field and select the name question from Typeform
  2. 2Map 'Email' to your email question response
  3. 3Map 'Dietary Preferences' to the dietary restrictions question
  4. 4Map 'T-shirt Size' to your t-shirt size question
  5. 5Leave 'Check-in Status' unmapped (defaults to unchecked)
What you should see: Each property should show the mapped Typeform field name next to it.
Notion fields
Name
Status
Assignee
Due Date
Priority
available as variables:
1.props.Name
1.props.Status
1.props.Assignee
1.props.Due Date
1.props.Priority
11

Workflow > Execute > Test

Test the Workflow

Verify your automation works before going live. This catches mapping errors and connection issues early.

  1. 1Click 'Execute Workflow' in the top toolbar
  2. 2Fill out your Typeform with test data
  3. 3Check if the workflow runs and creates a row in Notion
  4. 4Verify all fields populated correctly
What you should see: You should see a new row in your Notion database with the test data you submitted.
Common mistake — Use realistic test data — short responses like 'test' might reveal formatting issues you won't catch otherwise.
n8n
▶ Run once
executed
Notion
Typeform
Typeform
🔔 notification
received
12

Workflow > Activate Toggle > Save

Activate Automation

Turn on the workflow to start capturing live registrations. Once active, every new Typeform response creates a Notion row.

  1. 1Click the 'Inactive' toggle in the top right
  2. 2It should switch to 'Active' with a green indicator
  3. 3Save your workflow with Ctrl+S or Cmd+S
  4. 4Name it something clear like 'Event Registration Import'
What you should see: The workflow shows 'Active' status and you see a confirmation that it's been saved.

Drop this into an n8n Code node.

JavaScript — Code Node// Clean dietary preferences before sending to Notion
▸ Show code
// Clean dietary preferences before sending to Notion
const dietary = $json.answers.field_dietary || '';
const cleaned = dietary

... expand to see full code

// Clean dietary preferences before sending to Notion
const dietary = $json.answers.field_dietary || '';
const cleaned = dietary
  .toLowerCase()
  .replace(/no restrictions?/i, 'None')
  .replace(/n\/a/i, 'None')
  .trim();

return { dietary_preferences: cleaned || 'None' };

Scaling Beyond 200+ registrations/day+ Records

If your volume exceeds 200+ registrations/day records, apply these adjustments.

1

Add Rate Limit Delays

Insert Wait nodes with 500ms delays between Notion operations. Notion allows 3 requests/second and will return 429 errors if you exceed this limit during registration spikes.

2

Enable Duplicate Detection

Add a Notion query node before creating records to check if the email already exists. This prevents duplicate registrations when Typeform webhooks fire multiple times for the same submission.

3

Split Large Batches

If processing bulk imports, use N8n's SplitInBatches node to handle 50 records at a time. Notion's API can timeout on large payloads and you'll lose the entire batch.

Going live

Production Checklist

Before you turn this on for real, confirm each item.

Troubleshooting

Common errors and how to fix them.

Frequently Asked Questions

Common questions about this workflow.

Analysis

VerdictWhy n8n for this workflow

Use N8n for this if you want full control over the data transformation and don't mind hosting your own automation server. N8n gives you code nodes to clean up messy form responses and complex conditional logic that Zapier can't handle. You can also run unlimited workflows on the free self-hosted version. Pick Make instead if you need this running immediately — N8n requires server setup time that delays quick wins.

Cost

This workflow uses 1 execution per registration. At 100 signups/month, that's 100 executions monthly. N8n Cloud starts at $20/month for 5,000 executions, so you have plenty of headroom. Self-hosted N8n is free but factor in $10-15/month for a VPS. Zapier charges $20/month for 750 tasks and Make is $9/month for 1,000 operations — Make wins on cost until you need N8n's advanced features.

Tradeoffs

Zapier handles Notion's select property types better — it auto-maps dropdown values without manual configuration. Make has cleaner error handling with automatic retries on Notion API hiccups. But N8n gives you JavaScript code nodes to validate email formats, split dietary preferences into separate fields, or integrate with payment processors that the others can't touch. Choose N8n when you need that flexibility.

Notion's API is picky about property types — send text to an email property and the whole workflow fails. Their select properties must match dropdown values exactly, including spaces and capitalization. At high volume, you'll hit Notion's 3 requests per second rate limit and need N8n's built-in delay nodes between operations. The Typeform webhook occasionally sends duplicate payloads, so add a filter node to check if that email already exists in your database.

Ideas for what to build next

  • Add Slack NotificationsSend new registrations to a team Slack channel so organizers know about signups immediately without checking Notion constantly.
  • Create Welcome Email FlowConnect to Mailchimp or SendGrid to automatically send event details and calendar invites to new registrants.
  • Build Check-in DashboardAdd a webhook from Notion back to N8n that triggers when someone's checked in, then updates a real-time attendance display.

Related guides

Was this guide helpful?
Notion + Typeform overviewn8n profile →