AutomationFlowsData & Sheets › Bulk Emails with Personalized Attachment

Bulk Emails with Personalized Attachment

ByBhavabhuthi @bhavabhuthi on n8n.io

A workflow to send personalized emails with respective attachment.

Event trigger★★★★☆ complexity6 nodesEmail SendRead Binary FileSpreadsheet File
Data & Sheets Trigger: Event Nodes: 6 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #1514 — we link there as the canonical source.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": 1,
  "name": "My workflow",
  "nodes": [
    {
      "name": "On clicking 'execute'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        320,
        300
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "name": "Send Email",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1520,
        300
      ],
      "parameters": {
        "options": {
          "allowUnauthorizedCerts": true
        },
        "subject": "Certificate For Course",
        "toEmail": "={{$node[\"SplitInBatches\"].json[\"email\"]}}",
        "fromEmail": "user@example.com",
        "attachments": "data"
      },
      "credentials": {
        "smtp": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Read Binary File",
      "type": "n8n-nodes-base.readBinaryFile",
      "position": [
        560,
        300
      ],
      "parameters": {
        "filePath": "/home/shashikanth/Documents/Cert-Gen-Test/data.csv",
        "dataPropertyName": "csv"
      },
      "typeVersion": 1,
      "alwaysOutputData": false
    },
    {
      "name": "Spreadsheet File",
      "type": "n8n-nodes-base.spreadsheetFile",
      "position": [
        840,
        300
      ],
      "parameters": {
        "options": {
          "headerRow": true
        },
        "binaryPropertyName": "csv"
      },
      "typeVersion": 1
    },
    {
      "name": "SplitInBatches",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1080,
        300
      ],
      "parameters": {
        "options": {
          "reset": false
        },
        "batchSize": 5
      },
      "typeVersion": 1
    },
    {
      "name": "Read Binary File1",
      "type": "n8n-nodes-base.readBinaryFile",
      "position": [
        1300,
        300
      ],
      "parameters": {
        "filePath": "=/home/shashikanth/Documents/Cert-Gen-Test/generator-output/{{$json[\"name\"]}}.png"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {},
  "connections": {
    "SplitInBatches": {
      "main": [
        [
          {
            "node": "Read Binary File1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read Binary File": {
      "main": [
        [
          {
            "node": "Spreadsheet File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Spreadsheet File": {
      "main": [
        [
          {
            "node": "SplitInBatches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read Binary File1": {
      "main": [
        [
          {
            "node": "Send Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On clicking 'execute'": {
      "main": [
        [
          {
            "node": "Read Binary File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

A workflow to send personalized emails with respective attachment.

Source: https://n8n.io/workflows/1514/ — original creator credit. Request a take-down →

More Data & Sheets workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Data & Sheets

Readbinaryfile. Uses manualTrigger, emailSend, readBinaryFile, spreadsheetFile. Event-driven trigger; 6 nodes.

Email Send, Read Binary File, Spreadsheet File
Data & Sheets

Working With Excel Spreadsheet Files Xls Xlsx. Uses stickyNote, readBinaryFile, manualTrigger, writeBinaryFile. Event-driven trigger; 24 nodes.

Read Binary File, Write Binary File, Google Drive +4
Data & Sheets

This workflow will help guide you through obtaining a spreadsheet file, reading it, making a change then saving it to local or cloud storage.

Read Binary File, Write Binary File, Google Drive +4
Data & Sheets

Automates extraction of wall quantities from Revit models and creates a professional interactive HTML report. Automated wall quantity analysis Calculates volumes by wall type ("Type Name") Generates i

Execute Command, Read Binary File, Spreadsheet File +1
Data & Sheets

Property Lead Contact Enrichment from CRM. Uses manualTrigger, scheduleTrigger, httpRequest, spreadsheetFile. Event-driven trigger; 16 nodes.

HTTP Request, Spreadsheet File, HubSpot +1