Import Google Drive CSV Contacts to Notion Database - n8n Workflow

Use this robust n8n workflow to seamlessly transfer contact data from a CSV file stored in Google Drive directly into a structured Notion database. Ideal for CRM tasks.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?

• CRM managers or administrators looking to migrate contact lists from legacy systems.
• Users needing advanced data normalization before importing data into Notion.
• Developers seeking practical n8n templates demonstrating Google Drive and Notion integration.
• Anyone who frequently handles data migration requiring a reliable n8n workflow solution.

Overview

This comprehensive n8n workflow solves the common challenge of migrating large contact lists stored as CSV files in Google Drive into a centralized, organized Notion database. Instead of manual data entry, this automation leverages the full power of n8n to automate the entire ETL process: downloading the file, parsing the CSV structure, normalizing inconsistent contact fields, and finally pushing each contact record into Notion. The inclusion of a custom Code n8n node makes this specific n8n workflow highly flexible, ensuring fields like 'Mobile Phone' or 'Home Phone' are correctly consolidated. This is one of the essential n8n templates for boosting operational efficiency and keeping your contact data synchronized.

How it Works

The entire process is initiated by the Manual n8n trigger, designed for scheduled or on-demand execution.


  1. File Retrieval: The Google Drive n8n node securely downloads the specified CSV contact file from your cloud storage.

  2. Data Parsing: The Extract from File n8n node takes the binary file data and efficiently parses it into a list of structured JSON objects, making the contact records usable by the subsequent n8n nodes.

  3. Data Standardization: A critical Code n8n node then executes custom JavaScript logic. This logic standardizes varying input fields (e.g., combining first and last names, choosing between mobile or home phone numbers) into a clean output structure containing only name, email, phone, and company.

  4. Notion Record Creation: The workflow concludes when the Notion n8n node iterates through the standardized list, creating a new database page for every contact. It maps the cleaned data directly into the respective Notion database properties (Title, Email Address, Phone Number, and Company), completing the data migration in this robust n8n workflow.

Installation Guide


  1. Import the n8n workflow: Copy the provided JSON data and paste it into your n8n instance using the 'New' -> 'Import from JSON' option.

  2. Google Drive Setup: Edit the 'Download file' n8n node and set up or select your Google Drive OAuth2 credential. Crucially, update the File ID parameter to point to the exact CSV file you wish to import.

  3. Notion Setup: Edit the 'Create a database page' n8n node. Set up or select your Notion API credential. You must grant the n8n integration access to the target Notion database. Update the Database ID parameter to match the ID of your desired Notion contacts database.

  4. Data Review (Code Node): If your source CSV headers differ significantly from standard contact fields, review the JavaScript in the 'Code' n8n node to ensure field mapping is correct (e.g., checking for contact.json["Your Custom Header"]).

  5. Execution: Use the manual n8n trigger to run the n8n workflow.

Node Details


  • When clicking ‘Execute workflow’ (Manual Trigger n8n trigger): This simple n8n trigger starts the entire automation flow, allowing for easy manual testing or scheduled execution.

  • Download file (Google Drive n8n node): Retrieves the contact CSV file from a specified File ID in Google Drive. Configured to save the downloaded file content under the binary property name data.

  • Extract from File (n8n node): Converts the incoming binary data (the CSV file) into usable JSON items, preparing the data for manipulation.

  • Code (Custom Code n8n node): The core transformation step. It contains JavaScript logic to iterate through raw CSV items, consolidate name fields, prioritize phone numbers, and standardize the output structure before data is sent to Notion.

  • Create a database page (Notion n8n node): The final action n8n node. It creates a new database entry (page) in the specified Notion database. It uses expressions (e.g., ={{ $json.email ? $json.email : null}}) to dynamically map the cleaned contact data into the corresponding Notion properties (Title, Email Address, Phone Number, Company).

Related n8n Workflows

Free

Nodes: 6 Nodes
Updated: December 26 2025
View all
Created by
Sebastien
Sebastien

Featured*