You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets指定单元格填充时自动触发邮件发送的方案咨询

Google Sheets 工单CSR填充自动发邮件实现方案

前置准备

先在你的工单表格最右侧新增一列,列标题填notification_sent,用来标记该条工单是否已经发送过通知,避免重复发邮件打扰员工。

步骤1:打开脚本编辑器

打开你的工单Google Sheet,点击顶部菜单栏的「扩展程序」→「Apps 脚本」,进入脚本编辑页面,删除编辑区域默认生成的所有代码。

步骤2:粘贴功能代码

把以下代码粘贴到编辑区域:

// 核心触发函数:当表格被编辑时触发
function sendNotificationOnCsrFill(e) {
  const sheet = e.source.getActiveSheet();
  const editedRange = e.range;
  const headerRow = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
  
  // 只处理CSR列的编辑操作,其他列编辑直接跳过
  const csrColIndex = headerRow.indexOf('CSR') + 1;
  if (editedRange.columnStart !== csrColIndex || editedRange.rowStart === 1) return;
  
  // 只处理CSR从空变有内容、且未发送过通知的行
  const editedRow = editedRange.rowStart;
  const rowData = sheet.getRange(editedRow, 1, 1, sheet.getLastColumn()).getValues()[0];
  const csrValue = rowData[headerRow.indexOf('CSR')];
  const sentStatus = rowData[headerRow.indexOf('notification_sent')];
  if (!csrValue || sentStatus === '已发送') return;

  // 提取需要的字段内容
  const employeeEmail = rowData[headerRow.indexOf('employee_email')];
  const customerName = rowData[headerRow.indexOf('Customer')];
  const address = rowData[headerRow.indexOf('Address')];
  const setUpdate = rowData[headerRow.indexOf('set_up_date')];
  const csrName = csrValue;

  // 组装邮件内容
  const subject = `您提交的返岗工单已处理完成`;
  const body = `您好:
您提交的返岗工单已由客服处理完成,相关信息如下:
客户名称:${customerName}
客户地址:${address}
回电配置日期:${setUpdate}
处理客服(CSR):${csrName}
如有疑问可联系对应客服核实。`;

  // 发送邮件
  MailApp.sendEmail(employeeEmail, subject, body);

  // 标记已发送,避免重复触发
  const sentColIndex = headerRow.indexOf('notification_sent') + 1;
  sheet.getRange(editedRow, sentColIndex).setValue('已发送');
}

如果需要调整邮件的主题、正文内容,直接修改代码里subject和body对应位置的文字即可。

步骤3:配置触发规则

点击脚本编辑器左侧菜单栏的「触发器」图标(形状为闹钟),点击右下角「添加触发器」,按以下参数配置:

  • 选择要运行的函数:sendNotificationOnCsrFill
  • 选择要部署的版本:Head
  • 选择事件源:电子表格
  • 选择事件类型:编辑
    配置完成后点击保存,按页面提示完成账号授权即可。授权时如果出现「Google未验证此应用」的提示,点击「高级」→「前往[你的脚本名称](不安全)」即可继续授权,脚本为你自行创建,不存在安全风险。

步骤4:功能测试

返回Google Sheet表格,找一条CSR列为空、未发送过通知的工单,在CSR列填写任意姓名,等待10秒左右,对应employee_email列的邮箱就会收到通知邮件,同时该行的notification_sent列会自动标记为「已发送」。

常见问题处理

  • 如果列标题有修改,对应修改代码里单引号包裹的列名文本即可
  • 如果触发后没有收到邮件,可进入脚本编辑器左侧「执行」页面查看报错信息,确认列名、邮箱地址是否填写正确

内容的提问来源于stack exchange,提问作者Rob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:09:03