Send SMS with Google Forms

A teacher has created a Google Form where students enter their name, the course they’ve enrolled into and their parent’s mobile number. The requirement is that as soon as a student enrolls in a course, an automated SMS message should be sent to the parent’s cell phone.

This can be easily done with OnFormSubmit trigger in Google Apps Script and SMS API. We are using MSG91 for this example but you can use Twilio or any SMS service that offers an HTTP Rest API for sending text messages.

function createTriggers() {
  
  ScriptApp
  .getProjectTriggers()
  .forEach(function(trigger) {
    ScriptApp.deleteTrigger(trigger);
  });
  
  ScriptApp
  .newTrigger("triggerSMS")
  .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
  .onFormSubmit()
  .create();
  
}

function triggerSMS(e) {

  var response = e.namedValues;
  var message = response["Student Name"].toString() + " enrolled for " + response["Course"].toString();  
  var url="https://control.msg91.com/api/sendhttp.php";
  
  var payload = {
    "authkey" : "AUTH_KEY",
    "mobiles" : response["Mobile Number"].toString(),
    "message" : encodeURIComponent(message),
    "sender"  : "GFORMS",
    "route"   : 4
  };
  
  var options = {
    "method"  : "POST",
    "payload" : payload,   
    "followRedirects" : true,
    "muteHttpExceptions": true
  };
  
  UrlFetchApp.fetch(url, options);
  
}