Search code examples
google-sheetsencodinggmailslackdrive

Google Sheets connecting with Gmail or Slack


I'm looking for a code I can use in google sheets. I need to get a notification when a cell changes in a specific column and get it through email or Slack. Can someone please help me? I'm currently using

function onSpeEdit(e) {
  var sh = e.source.getActiveSheet();
  var rng = e.source.getActiveRange();
  var col = 1
  if (sh.getName() == 'mySheet' && rng.getColumn() == col) {
    MailApp.sendEmail(
      '[email protected]',
      `Change Notification`,
      `Change in ${rng.getA1Notation()} old value "${e.oldValue}" new value "${e.value}" `);
  }
}


Solution

  • Try

    function onSpeEdit(e) {
      var sh = e.source.getActiveSheet();
      var rng = e.source.getActiveRange();
      var col = 1
      if (rng.getColumn() == col) {
        MailApp.sendEmail(
          '[email protected]',
          `Change Notification`,
          `Change in ${rng.getA1Notation()} of ${sh.getName()} old value "${e.oldValue}" new value "${e.value}" `);
      }
    }
    

    change name of sheet, column and email address

    you will need to define an installable trigger in order to use services that requires authorization.

    Installable Triggers

    edit : il you want to add another information, i.e. from column B, try to replace the sentence by

    `Hey, the title ${sh.getRange('B'+rng.getRow()).getValue()} from sheet ${sh.getName()} changed. Before it has the number ${e.oldValue} now is ${e.value}.`