Automating Bulk Invite Emails with Personalized Attachments using Google Apps Script

Dilip Kashyap
3 min readJan 18, 2024
Image Source: Pixabay

Sending personalized bulk emails can be a time-consuming task, especially when you need to attach personalized files for each recipient. Google Apps Script, a powerful cloud-based scripting language developed by Google, provides a convenient solution for automating such tasks.

In this article, we will explore how to use Google Apps Script to send bulk invite emails with personalized attachments, making the process efficient and scalable.


Before diving into the code, make sure you have a Google account, access to Google Drive, and basic knowledge of JavaScript.

Setting up Google Apps Script:

  1. Open Google Drive.
  2. Click on “+ New” and select “More” > “Google Apps Script.”
  3. Name your script, and you’ll be redirected to the script editor.

Writing the Code:

Below is a comprehensive code snippet that demonstrates how to send bulk invite emails with personalized attachments using Google Apps Script.

function sendBulkInviteEmails() {
// Spreadsheet containing recipient details (Name, Email, Attachment URL, etc.)
var spreadsheet = SpreadsheetApp.openById('YOUR_SPREADSHEET_ID');
var sheet = spreadsheet.getSheetByName('Sheet1'); // Change sheet name accordingly

// Loop through each row in the spreadsheet
var data = sheet.getDataRange().getValues();
for (var i = 1; i < data.length; i++) {

var recipientName = data[i][0];
var recipientEmail = data[i][1];
var attachmentUrl = data[i][2];

// Compose email subject and body
var subject = 'Invitation to Event';
var body = 'Dear ' + recipientName + ',\n\nYou are invited to our event. Please find the attachment for details.';

// Send personalized email with attachment
to: recipientEmail,
subject: subject,
body: body,
attachments: [DriveApp.getFileById(attachmentUrl).getAs(MimeType.PDF)]

Explanation of the Code:

  • The code assumes that recipient details are stored in a Google Spreadsheet with columns for Name, Email, Attachment URL, etc.
  • It retrieves the data from the spreadsheet and iterates through each row.
  • For each recipient, it extracts the name, email, and attachment URL.
  • A personalized email is composed using the recipient’s name.
  • The email is sent with the specified subject, body, and attachment.

Use Cases and Applications:

  1. Event Invitations: Send personalized invitations to a list of attendees with event details attached.
  2. Job Application Responses: Automate responses to job applications with personalized attachments.
  3. Educational Institutions: Distribute personalized study materials or announcements to students.
  4. Marketing Campaigns: Send personalized promotional materials to a targeted audience.
  5. Internal Communication: Streamline internal communication by automating personalized messages with relevant attachments.


Automating bulk invite emails with personalized attachments using Google Apps Script can significantly improve efficiency and reduce manual effort. Whether you are organizing events, managing applications, or conducting marketing campaigns, this script provides a scalable solution for personalized communication. Customize the code according to your specific requirements and enjoy the benefits of automation in your workflow.

I hope you find this article helpful. For latest post intimation you may follow, subscribe and share this with your friends. Happy learning! 💻🥳🎉

Boost your Google Workspace potential with our e-book: Google Apps Script: A Beginner’s Guide. Streamline your workflow and automate tasks today. Get your copy now!

I’m available for freelance opportunities and you may reach out via email at for further collaboration.



Dilip Kashyap

Software Developer at IIT Gandhinagar | Google Workspace | Contact me at