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 →
{
"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.
smtp
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 →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Readbinaryfile. Uses manualTrigger, emailSend, readBinaryFile, spreadsheetFile. Event-driven trigger; 6 nodes.
Working With Excel Spreadsheet Files Xls Xlsx. Uses stickyNote, readBinaryFile, manualTrigger, writeBinaryFile. Event-driven trigger; 24 nodes.
This workflow will help guide you through obtaining a spreadsheet file, reading it, making a change then saving it to local or cloud storage.
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
Property Lead Contact Enrichment from CRM. Uses manualTrigger, scheduleTrigger, httpRequest, spreadsheetFile. Event-driven trigger; 16 nodes.