Bulk Personalized Email Sender with Dynamic Attachments - n8n Workflow

Deploy this robust n8n workflow to send bulk personalized emails, attaching unique files (like certificates or reports) based on CSV data. This sophisticated n8n template ensures high efficiency for batch processing.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?

Course Administrators: Users needing to distribute personalized certificates or completion documents efficiently.
Marketing Operations Teams: Professionals who need to send unique reports or personalized materials to large contact lists.
n8n Developers: Users looking for advanced examples of binary file handling and dynamic expressions within an n8n workflow.
Automation Specialists: Anyone tasked with handling high-volume, personalized outreach using an n8n trigger.

Overview

Managing high-volume communications that require unique, personalized attachments (like digital certificates, detailed reports, or invoices) can be tedious. This advanced n8n workflow solves this by streamlining the entire process.

Starting with a contact list in a CSV format, this n8n template reads the data, processes it in manageable batches, dynamically locates the corresponding binary file (e.g., a PNG certificate) using data fields, and attaches it to a personalized email. This ensures scalability, accuracy, and efficiency, leveraging the power of an n8n node dedicated to email sending and file operations. This is a crucial n8n workflow for any administrative task requiring personalized bulk output.

How it Works

This comprehensive n8n workflow is designed for sequential file processing and delivery:


  1. Start: The process initiates using the 'On clicking 'execute'' n8n trigger (Manual Trigger).

  2. Load Data: The first Read Binary File n8n node reads the main recipient list, stored locally as a data.csv file, loading it into the workflow as binary data.

  3. Structure Data: The Spreadsheet File n8n node converts the binary CSV data into structured JSON items, making the recipient details (like name and email) accessible.

  4. Batch Processing: The SplitInBatches n8n node takes the list of recipients and breaks them into batches of 5. This is essential for managing execution load and adhering to potential SMTP server rate limits.

  5. Dynamic File Retrieval: For each item in the batch, the Read Binary File1 n8n node dynamically constructs a file path. It uses an expression (=/home/shashikanth/.../{{$json["name"]}}.png) to find the specific, personalized attachment (e.g., certificate) corresponding to that recipient's name field.

  6. Personalized Sending: The final Send Email n8n node sends the email. The recipient's address is dynamically pulled from the JSON data ({{$node["SplitInBatches"].json["email"]}}), the subject is set, and the personalized binary file retrieved in the previous step is attached, completing the personalized outreach via this powerful n8n template.

Installation Guide

To utilize this highly effective n8n workflow, follow these steps:


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

  2. Credentials: You must configure an SMTP connection for the Send Email n8n node. Click on the node and add credentials for your mail server (or use a dedicated n8n node like Gmail or SendGrid if preferred).

  3. Update File Paths: Critical modification required for the Read Binary File and Read Binary File1 n8n nodes. Update the file paths to reflect the exact location of your data.csv and the directory containing your personalized PNG attachments on your n8n host machine.

  4. Execution: Once paths and credentials are set, activate the n8n workflow and click 'Execute Workflow' or use the manual n8n trigger.

Node Details

On clicking 'execute' (Manual Trigger): The starting point of the n8n workflow. Used for initiating batch processes manually, acting as the primary n8n trigger.
Read Binary File: Functionally, this n8n node loads the central CSV manifest (data.csv).
Key Configuration: File Path is set to the location of the CSV containing recipient data.
Spreadsheet File: Converts the raw binary CSV into usable JSON items, allowing downstream n8n nodes to access fields like name and email.
Key Configuration: Uses the csv binary property and sets Header Row to true.
SplitInBatches: This n8n node manages flow control by limiting the number of items processed simultaneously.
Key Configuration: Batch Size is set to 5.
Read Binary File1: This is where the personalized attachment is retrieved. This n8n node uses a dynamic expression to ensure the correct file is picked for the current recipient.
Key Configuration: File Path uses the expression =/home/.../{{$json["name"]}}.png.
Send Email: The final action n8n node, responsible for delivery.
Key Configuration:* To Email dynamically set using ={{$node["SplitInBatches"].json["email"]}} and Attachments set to the binary output (data) of the preceding Read Binary File1 n8n node.

Related n8n Workflows

Free

Nodes: 5 Nodes
Updated: December 26 2025
View all
Created by
Bhavabhuthi
Bhavabhuthi

Featured*