谷歌应用程序脚本在从外部源更新时触发事件

时间:2015-01-30 08:36:05

标签: google-apps-script

我有一张Google表格,通过我的CRM(胶囊)应用程序中的“Zapier”进行更新。每当电子表格更新时,我都需要自动触发给定地址的电子邮件。创建新组织时,CRM软件会在电子表格的末尾成功添加新记录。我有一个监视最后一行的脚本,并通过一个on change事件向收件人发送一封电子邮件,但只有当我自己进入并更改电子表格数据时才会发生这种情况。

function sendEmail() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var dataRow = sheet.getLastRow();
var emailCell = sheet.getRange(dataRow, 4);
var emailAdd = emailCell.getValues();
var newRecordSource = sheet.getRange(dataRow, 1, 1, sheet.getLastColumn());
var newRecord = newRecordSource.getValues();

//var message = "This record has just been added:" +newRecord;
var message = "New record added to Workflow Sheet!: " +newRecord;
var subject = "Test from Workflow Sheet!";

MailApp.sendEmail(emailAdd, subject, message);

}

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

如果电子邮件将发送到Gmail地址,则可以在没有应用脚本的情况下执行此操作:登录将接收电子邮件的帐户,打开相关电子表格,然后从“工具”菜单中选择“通知规则...”并根据需要进行设置。

如果您必须从Apps脚本中执行此操作,您可能需要使用基于时间的触发器来监控更改,这比使用onChange要复杂得多。