Bulk Email and Profile Enrichment using Dropcontact Batch API - n8n Workflow

An expert n8n workflow designed for bulk email and profile data enrichment using Dropcontact's asynchronous batch requests, handling up to 1500 profiles per hour.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • Lead Generation Teams: Users needing to clean, enrich, and verify large lists of B2B profiles.

  • n8n Automation Specialists: Those requiring examples of asynchronous API handling, batch processing, and database integration within an n8n workflow.

  • Data Engineers: Individuals responsible for maintaining high-volume data quality in CRM or marketing databases.

  • Users seeking advanced n8n templates: Anyone looking for complex, scheduled data synchronization and enrichment solutions.

Overview

Processing large volumes of profile data synchronously can be slow and often hits rate limits. This advanced n8n workflow addresses this by utilizing the Dropcontact asynchronous batch API, allowing for the enrichment of up to 1500 contacts per hour efficiently.

This specialized n8n workflow begins by identifying records in a database that require enrichment (specifically targeting non-generic domains and known roles). It then strategically batches the data into 250-item chunks. A custom Python code step ensures the data is formatted precisely for the Dropcontact API. By employing a subsequent 'Wait' n8n node, the process gracefully handles the asynchronous nature of the API, retrieving the results only once they are ready and ensuring maximum throughput. Finally, the verified email and phone data is accurately written back to the Postgres database, making this one of the most powerful n8n templates for sales operations.

How it Works

The entire process is initiated by an n8n trigger:


  1. Scheduled Start: The Schedule Trigger acts as the n8n trigger, initiating the process periodically.

  2. Data Extraction: The PROFILES QUERY n8n node connects to Postgres, selecting up to 1000 records needing enrichment (those with email is null and dropcontactfound is null).

  3. Batching: The Loop Over Items2 n8n node splits the retrieved 1000 items into smaller batches of 250 to comply with API limits and optimize processing speed.

  4. Transformation: The DATA TRANSFORMATION n8n node (a Python code node) formats the contact lists (first name, last name, domain) into the exact JSON structure required by the Dropcontact bulk endpoint.

  5. Bulk Submission: The BULK DROPCONTACT REQUESTS n8n node submits the batch asynchronously to the Dropcontact API, receiving a crucial requestid.

  6. Asynchronous Wait: The Wait2 n8n node pauses the n8n workflow for 600 seconds (10 minutes) to allow Dropcontact time to process the batch.

  7. Result Download: The BULK DROPCONTACT DOWNLOAD n8n node polls the API using the requestid to retrieve the enriched data. If this n8n node fails, it alerts Slack.

  8. Data Disaggregation: The Split Out n8n node takes the results from the batch JSON and breaks them down into individual profile items.

  9. Database Update: The final Postgres n8n node updates the original records in the database, inserting the verified email, phone, and emailqualification data, and setting dropcontact_found to true. This robust n8n workflow provides a complete data solution.

Installation Guide

To deploy this powerful n8n workflow, follow these steps:


  1. Import: Copy the provided JSON into your n8n instance using the 'New' -> 'Import from JSON' function.

  2. Postgres Credentials: Configure the 'Postgres account' credential. This is required for the PROFILES QUERY and the final Postgres update n8n node.

  3. Dropcontact API Key: Set up the 'Dropcontact Willow account' credential. This involves using the dropcontactApi predefined credential type in the BULK DROPCONTACT REQUESTS and BULK DROPCONTACT DOWNLOAD n8n node. You must provide your API access token.

  4. Slack Integration (Optional but recommended): Configure the Slack n8n node with appropriate credentials for error reporting, especially if the download request fails.

  5. Review Queries: Customize the SQL query in the PROFILES QUERY n8n node to match your table schema and specific filtering needs.

  6. Activate: Ensure the n8n workflow is activated and the Schedule Trigger is set to your preferred run frequency.

Node Details

Schedule Trigger (n8n trigger): Starts the n8n workflow execution based on a predefined schedule.
PROFILES QUERY (Postgres n8n node): Executes a custom SQL query to select profiles lacking email addresses, filtering out common consumer domains (like gmail.com, hotmail.com) and limiting the fetch to 1000 records for efficient processing.
Loop Over Items2 (Split In Batches n8n node): Splits the incoming records into smaller, manageable batches of 250 items, preparing them for the bulk API call.
DATA TRANSFORMATION (Code n8n node - Python): A critical n8n node that uses Python scripting to restructure the input data from a list of columns into the list of objects format expected by the Dropcontact API, including defining custom fields like fullname.
BULK DROPCONTACT REQUESTS (HTTP Request n8n node): Submits the 250-item batch payload to the asynchronous Dropcontact /batch endpoint, using the dropcontactApi credential. This is a crucial n8n node for high-volume processing.
Wait2 (Wait n8n node): Introduces a 600-second pause, ensuring that the Dropcontact service has completed the asynchronous enrichment before the download attempt is made.
BULK DROPCONTACT DOWNLOAD (HTTP Request n8n node): Retrieves the results using the requestid received earlier. It includes error routing to Slack for proactive monitoring.
Split Out (n8n node): De-aggregates the batch results, turning the bulk JSON file back into individual items for per-row database updating.


  • Postgres (n8n node): The final step, performing an UPDATE operation on the profiles table, inserting enriched data points like email, phone, and emailqualification based on matching fullname fields.

Related n8n Workflows

Free

Nodes: 10 Nodes
Updated: December 26 2025
View all
Created by

Featured*