(+91)7275894867 [email protected]
OutRightCRM Login
📅 Published on August 16, 2024 ✏️ Updated on April 22, 2025

Email to Google Sheet – Data Parsing

Author Avatar
Author
Editorial Team

Email to Google Sheet – Data Parsing

Email to Google Sheet data parsing involves extracting information like sender, subject, date, or message body from incoming emails using Google Apps Script. The script scans Gmail, parses relevant details using filters or keywords, and logs them into a Google Sheet, automating lead capture, support tracking, or order management.
  1. Step 1: Click on the Copy button to copy the code snippet.
  2. Step 2: Paste the copied code into your project’s script editor.

Apps Scripts Blog

Read Blog

Apps Scripts Code

function fetchEmailData() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var searchQuery = 'label:Hello Mohit'; // Replace with your desired search criteria


  // Clear existing data
  sheet.getDataRange().clearContent();


  // Set the headings in the first row
  sheet.getRange("A1:L1").setValues([["From", "To", "CC", "Subject", "Time", "Enquiry from", "Name", "Firm Name", "Address", "EmailID", "Mobile", "Message"]]);


  var threads = GmailApp.search(searchQuery);
  var data = [];


  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();


    for (var j = 0; j < messages.length; j++) {
      var email = messages[j];
      var body = email.getPlainBody();
      var subject = email.getSubject();
      var from = email.getFrom();
      var to = email.getTo();
      var cc = email.getCc();
      var time = email.getDate();


      // Extracting fields from the email body
      var Enquiryfrom = extractValueFromBody(body, "Enquiry from :");
      var Name = extractValueFromBody(body, "Name :");
      var FirmName = extractValueFromBody(body, "Firm name :");
      var Address = extractValueFromBody(body, "Address :");
      var EmailID = extractValueFromBody(body, "EmailID :");
      var Mobile = extractValueFromBody(body, "Mobile :");
      var Message = extractValueFromMessage(body, "Message-");


      // Add the data to the array
      data.push([from, to, cc, subject, time, Enquiryfrom, Name, FirmName, Address, EmailID, Mobile, Message]);
    }
  }


  // Write the data to the sheet
  sheet.getRange(2, 1, data.length, 12).setValues(data);
}


// Helper function to extract value from email body based on a field
function extractValueFromBody(body, field) {
  var startIndex = body.indexOf(field);
  if (startIndex !== -1) {
    startIndex += field.length;
    var endIndex = body.indexOf("\n", startIndex);
    var value = body.substring(startIndex, endIndex).trim();


    // Remove leading and trailing whitespace
    value = value.replace(/^\s+|\s+$/g, '');


    return value;
  }
  return "";
}


// Helper function to extract the message from email body
function extractValueFromMessage(body, field) {
  var startIndex = body.indexOf(field);
  if (startIndex !== -1) {
    startIndex += field.length;
    var value = body.substring(startIndex).trim();


    return value;
  }
  return "";
}

Scroll to Top