

How to Track Job Applications from Typeform to Notion with N8n
Auto-create Notion database entries when candidates submit job applications through Typeform, tracking name, email, resume, and pipeline status.
Steps and UI details are based on platform versions at time of writing β check each platform for the latest interface.
Best for
HR teams that want instant candidate tracking in Notion without manual data entry
Not ideal for
Teams uncomfortable with JSON expressions or needing advanced applicant screening logic
Sync type
real-timeUse case type
importReal-World Example
A 25-person B2B startup uses this to track engineering candidates in their Notion hiring hub. Before automation, their hiring manager copied application details from 15+ daily form submissions into Notion manually, taking 3-4 hours weekly. Now candidates flow directly into their pipeline with status tracking, interview scheduling, and team feedback - all starting automatically when someone hits submit.
What Will This Cost?
Drag the slider to your expected monthly volume.
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
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.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Candidate Name | name | |
| Email Address | email | |
| Resume File | file_url | |
| Position Applied | choice.label | |
| Application Status | status | |
| Application Date | submitted_at | |
2 optional fieldsβΈ show
| Experience Level | choice.label |
| Cover Letter | text |
Step-by-Step Setup
Workflows > New > Add Node > Typeform Trigger
Create N8n workflow
Start a new workflow in N8n and add the Typeform webhook trigger. This will listen for new form submissions in real-time.
- 1Click 'New Workflow' in your N8n dashboard
- 2Click the + button to add your first node
- 3Search for 'Typeform Trigger' and select it
- 4Choose 'Form Response' as the trigger event
Typeform Node > Credentials > New
Connect Typeform account
Link your Typeform account using OAuth or API key. N8n needs permission to receive webhook notifications from your forms.
- 1Click 'Create New Credential' in the Typeform node
- 2Choose 'Typeform OAuth2 API' from the dropdown
- 3Click 'Connect my account' and authorize N8n
- 4Select your job application form from the Form dropdown
Typeform Node > Execute Node
Test Typeform trigger
Execute the node to capture a sample form response. This gives N8n the data structure to work with in later steps.
- 1Click 'Execute Node' on the Typeform trigger
- 2Submit a test application through your Typeform
- 3Return to N8n and check the execution results
- 4Verify you see candidate data like name, email, and answers
Add Node > Notion > Database Item > Create
Add Notion node
Insert a Notion node configured to create database items. This will add each job application as a new row in your hiring tracker.
- 1Click the + button after the Typeform node
- 2Search for 'Notion' and select it
- 3Set Operation to 'Create' and Resource to 'Database Item'
- 4Choose 'Create New Credential' for Notion connection
Notion Node > Credentials > OAuth2
Connect Notion account
Authenticate with Notion and grant N8n access to your workspace. You'll need to share your job tracker database with the N8n integration.
- 1Click 'Connect my account' in the Notion credentials
- 2Authorize N8n in the Notion popup window
- 3Go to your Notion job tracker database
- 4Click 'Share' and add the N8n integration as an editor
Notion Node > Properties > Name > Expression
Map candidate name field
Connect the applicant's name from Typeform to your Notion Name property. Use N8n's expression editor to extract the right answer field.
- 1Select your database from the Database dropdown
- 2Find the 'Name' property in the field list
- 3Click the expression editor (gears icon) next to Name
- 4Enter: {{ $json.answers.find(a => a.field.ref === 'name_field').text }}
Notion Node > Properties > Email/Resume/Status
Map email and resume fields
Set up field mapping for the candidate's email address and resume file link. These are critical for your hiring pipeline tracking.
- 1Map Email property to: {{ $json.answers.find(a => a.field.ref === 'email_field').email }}
- 2Map Resume Link property to: {{ $json.answers.find(a => a.field.ref === 'resume_field').file_url }}
- 3Set Status property to 'Applied' as default value
Notion Node > Properties > Custom Fields
Map additional application fields
Connect other form responses like position, experience level, or cover letter to corresponding Notion properties.
- 1Map Position to: {{ $json.answers.find(a => a.field.ref === 'position_field').choice.label }}
- 2Map Experience to: {{ $json.answers.find(a => a.field.ref === 'experience_field').choice.label }}
- 3Map Cover Letter to: {{ $json.answers.find(a => a.field.ref === 'cover_letter_field').text }}
Notion Node > Settings > Error Handling
Add error handling
Configure the workflow to handle failures gracefully. This prevents the automation from breaking when Notion is down or fields are missing.
- 1Click the Notion node settings (3 dots)
- 2Select 'Settings' from the menu
- 3Change 'On Error' from 'Stop and Fail' to 'Continue'
- 4Enable 'Retry On Fail' with 3 attempts and 1-minute intervals
Workflow > Execute Workflow
Test complete workflow
Run the full automation end-to-end to verify data flows correctly from form submission to Notion database creation.
- 1Click 'Execute Workflow' at the top of N8n
- 2Submit another test application through your Typeform
- 3Check the workflow execution results in N8n
- 4Verify the new candidate appears in your Notion database
Workflow > Activate Toggle
Activate automation
Turn on the workflow to start processing real job applications. The webhook will now trigger automatically for every form submission.
- 1Click the 'Inactive' toggle in the top right
- 2Confirm activation in the popup dialog
- 3Check that status changes to 'Active' with a green indicator
Drop this into an n8n Code node.
Copy this template{{ $json.answers.find(a => a.field.ref === 'name_field')?.text || 'Unknown Applicant' }}βΈ Show code
{{ $json.answers.find(a => a.field.ref === 'name_field')?.text || 'Unknown Applicant' }}... expand to see full code
{{ $json.answers.find(a => a.field.ref === 'name_field')?.text || 'Unknown Applicant' }}Scaling Beyond 500+ applications/day+ Records
If your volume exceeds 500+ applications/day records, apply these adjustments.
Add rate limiting
Notion's API allows 3 requests per second. Add a 500ms wait node between bulk operations to avoid 429 errors during application spikes.
Enable execution queue
Turn on N8n's queue mode in settings to handle concurrent form submissions properly. Without this, simultaneous applications can cause race conditions.
Monitor webhook failures
Set up N8n's error workflow to capture failed executions. High volume means more edge cases like malformed uploads or network timeouts that need tracking.
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
Use N8n for this if you want full control over data transformation and don't mind JSON expressions. N8n handles complex field mapping better than Zapier and costs nothing for moderate volumes. The webhook triggers fire instantly, and you can add custom logic like duplicate detection or conditional field mapping. Skip N8n if your team needs a visual, no-code builder - Zapier's interface is more beginner-friendly for simple form-to-database workflows.
This workflow uses 1 execution per form submission. At 200 applications/month, that's 200 executions total. N8n cloud starts free up to 5,000 executions monthly, so you pay nothing until you hit serious volume. The same workflow costs $20/month on Zapier's Starter plan (limited to 750 tasks) and $9/month on Make's Core plan. N8n wins on cost until you exceed the free tier.
Zapier handles Typeform file uploads more reliably - their native integration extracts resume URLs without JSON expressions. Make offers better visual field mapping with drag-and-drop connections instead of writing expressions. But N8n gives you precise control over data transformation. You can add validation logic, format phone numbers, or split full names into first/last fields using JavaScript. That flexibility matters when you're building a real hiring pipeline, not just moving data around.
Notion's API paginates responses at 100 records, but that won't affect single record creation. Watch out for Typeform's webhook retry behavior - failed requests retry 3 times over 24 hours, so fix issues fast or you'll get duplicate applications. File upload fields sometimes return arrays instead of single URLs if multiple files are allowed, so add array handling logic if candidates can submit multiple documents. Typeform's choice field structure changes between single and multiple selection types, breaking your expressions if you modify the form later.
Ideas for what to build next
- βAdd Slack notifications for new applications β Connect a Slack node after Notion creation to alert your hiring team immediately when qualified candidates apply for priority roles.
- βSet up interview scheduling automation β Add Calendly integration to automatically send scheduling links to candidates who pass initial screening, updating their Notion status to 'Interview Scheduled'.
- βCreate rejection email workflow β Build a separate N8n workflow triggered by Notion status changes to send personalized rejection emails when candidates are moved to 'Not Selected' status.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup