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

Gravity Forms提交能否触发Google Sheets onFormSubmit触发器同步数据?

实现Gravity Forms提交后自动复制数据到另一张Google工作表

完全可以实现这个需求,核心思路是利用Google Apps Script监听Gravity Forms同步到Sheet的新增数据,自动复制到目标工作表,具体步骤如下:

1. 确认集成基础

确保你已经通过Gravity Forms的Google Sheets官方集成,把表单提交数据自动同步到Google Sheets的指定工作表(比如命名为GravityFormsResponses)——这是后续脚本运行的前提。

2. 编写Google Apps Script脚本

打开存储Gravity Forms数据的Google Sheet,点击「扩展程序」→「Apps Script」,删除默认代码,粘贴以下脚本:

function copyGravityFormsSubmission(e) {
  // 替换为你的Gravity Forms数据所在工作表名称
  const sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('GravityFormsResponses');
  // 替换为你要复制到的目标工作表名称
  const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('ArchiveResponses');
  
  // 获取刚提交的整行数据
  const newSubmissionRow = sourceSheet.getRange(e.range.getRow(), 1, 1, sourceSheet.getLastColumn()).getValues()[0];
  
  // 追加到目标工作表
  targetSheet.appendRow(newSubmissionRow);
}

注意修改代码中的两个工作表名称为你实际使用的名称。

3. 设置可安装触发器

在Apps Script编辑器左侧点击「触发器」图标,点击「添加触发器」,按以下配置:

  • 选择函数:copyGravityFormsSubmission
  • 部署类型:Head
  • 事件源:从电子表格
  • 事件类型:当表单提交时
    点击「保存」,按照提示完成脚本权限授权即可。

关键注意事项

  • 源工作表和目标工作表的列顺序必须一致,否则数据会出现错位;如果列结构不同,需要修改脚本中的数据提取逻辑,手动映射列。
  • 这个触发器监听的是Sheet的新增行事件,只要Gravity Forms提交后在源表新增了行,就会触发复制操作,和原生Google表单的提交触发逻辑一致。
  • 如果你的Gravity Forms集成存在更新已有行的情况(比如编辑提交),需要把事件类型改成「当更改时」,并调整脚本逻辑判断是否为新增行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 18:12:47