Webflow 的联系表单开箱即用,颜值在线,但它的内置处理机制只做一件事:把提交数据发到你的邮箱。它不会把数据存进数据库、不会对接 CRM,也不会触发任何自定义逻辑。如果你需要的不只是一封邮件通知,就必须把 Webflow 的表单提交数据路由到外部服务。好消息是,整个过程不需要写一行后端代码。
目录
Webflow 默认给你什么
Webflow 内置的表单处理器做三件事:向网站所有者发送邮件通知、显示提交成功提示,以及在 Webflow 控制台记录提交记录(付费套餐才有)。对于小型网站的基础联系表单来说够用,但只要你有以下任何一个需求,它就会立刻捉襟见肘:
- 向填写表单的用户自动回复邮件
- 将提交数据转发到指定的团队收件箱或 CRM
- 条件逻辑(例如按产品兴趣分配线索)
- 超出 Webflow 基础 honeypot 机制的垃圾邮件过滤
- 带时间戳和重试机制的可靠投递记录
以上功能原生均不支持。你需要一个外部层,而现实可行的方案有三种。
原生集成 - Zapier 和 Make
Webflow 与 Zapier 和 Make(前身为 Integromat)有直接集成。每当有新的表单提交,触发器就会触发,你可以串联任意动作:往 Google Sheets 添加一行、在 HubSpot 创建联系人、发一条 Slack 消息,等等。
这是大多数设计师首选的无代码路径,配置步骤如下:
- 在 Webflow 中,进入 项目设置 > 集成 ,连接你的 Zapier 账号。
- 在 Zapier 中,新建一个 Zap,触发器选择 Webflow - New Form Submission 。
- 按名称选择对应的表单。
- 添加动作步骤(Gmail、Slack、Airtable 等)。
- 用真实提交测试,然后启用该 Zap。
Make 在复杂工作流上价格更实惠,但两个平台都引入了外部依赖:一旦 Zapier 或 Make 宕机,或者你的账号触及配额上限,提交数据就会悄悄丢失或积压在队列里。
使用 Webflow Webhook
Webflow webhook 是一条更直接的路径。每当有表单提交,Webflow 就会向你指定的 URL 发送一个 HTTP POST 请求。你控制接收 endpoint,因此可以对 payload 做任何处理。
配置步骤如下:
- 在 Webflow 中,进入 项目设置 > 集成 > Webhooks 。
- 点击 添加 Webhook ,触发事件选择 表单提交 。
- 粘贴你的接收服务的 endpoint URL。
- 保存,然后用真实提交进行测试。
Webflow 发送的 payload 是一个 JSON 对象,包含所有字段的值、表单名称以及站点元数据。典型的 payload 结构如下:
{
"name": "Contact Form",
"site": "my-webflow-site",
"data": {
"Name": "Jane Smith",
"Email": "[email protected]",
"Message": "Hi, I'd like a quote."
},
"submittedAt": "2024-11-15T10:22:00Z"
}
问题在于:你需要有东西来接收这个 webhook。可选方案包括一个小型 Cloudflare Worker 、一个 Pipedream 工作流,或者一个专用的表单后端。自己写接收器,恰恰就是本文想帮你避免的"自建后端"问题。这也是表单转邮件服务成为最简洁方案的原因。
用表单服务替换表单 endpoint
你完全可以绕过 Webflow 的表单处理器,直接把表单的
action
属性指向第三方表单服务。该服务接收 POST 请求、验证数据、过滤垃圾信息,然后把结果发到你的邮箱。你这边不需要任何后端。
在 Webflow 中的操作流程如下:
- 在 Webflow 设计器中,选中你的表单元素。
-
在
表单设置
面板中,将
Action
字段设置为表单服务的 endpoint URL(例如
https://sendform.net/!your-form-id)。 - 将 Method 设置为 POST 。
-
确保每个输入框都有
name属性 - Webflow 默认会设置这些。 - 发布网站,测试一次提交。
这种方式完全绕过了 Webflow 的表单处理器。提交数据直接从访客的浏览器发往表单服务,你收到邮件,服务负责重试和垃圾过滤,而 Webflow 只作为 UI 层存在。
同样的方式适用于任何静态或无代码网站。如果你同时在 GitHub Pages 或 Cloudflare Pages 上托管网站, 免费托管静态网站并让联系表单正常工作 这篇文章介绍的正是同一套方案。
Sendform 与其他方案对比
有多个表单服务可以与 Webflow 配合使用。以下是主流选项在联系表单场景中最关键维度上的对比:
| 服务 | 免费套餐 | 配置复杂度 | 自定义跳转 | 垃圾过滤 | 符合 GDPR |
|---|---|---|---|---|---|
| Sendform | 有 | 粘贴一个 URL 即可 | 支持 | 支持 | 支持 |
| Formspree | 每月 50 次提交 | 注册后粘贴 URL | 仅付费版 | 基础(reCAPTCHA 需付费) | 部分支持 |
| Netlify Forms | 每月 100 次提交 | 需在 Netlify 上托管 | 支持 | 支持 | 部分支持 |
| Zapier(通过 webhook) | 每月 100 个任务 | 需配置多步工作流 | 需手动处理 | 无内置支持 | 取决于 Zap 配置 |
| Basin | 每月 100 次提交 | 注册后粘贴 URL | 支持 | 支持 | 部分支持 |
Sendform 在几个具体方面表现突出,这些优势在表格里体现不完:
- 零摩擦配置: 无需先注册账号,直接获取表单 endpoint URL。粘贴到 Webflow 的 Action 字段,完成。
- 默认不存储提交数据: Sendform 将数据发送到你的邮箱后不会在服务器上留存,这是符合 GDPR 要求的正确默认行为。Formspree 等竞品会把所有提交记录存在自己的控制台,意味着用户数据会无限期地留在第三方服务器上。
- 对开发者友好,同时也适合无代码用户: 不像 Zapier 那样需要维护工作流,也不像 Netlify Forms 那样绑定特定托管平台,无论是 Webflow、GitHub Pages 还是其他任何平台都能用。
- 诚实的免费套餐: 没有"升级才能解锁跳转"这类套路,不会用功能墙把你推向付费计划。
该选哪种方案?
正确答案取决于表单提交后你实际需要做什么:
- 只需要邮件通知: 用 Sendform。把 endpoint URL 粘贴到 Webflow 的 Action 字段,两分钟搞定。
- 邮件通知 + CRM 或表格同步: 用 Sendform 负责邮件投递,再可选地添加一个由收件邮件触发的 Zapier 步骤,或者在你的套餐支持的情况下使用 Sendform 的 webhook 输出。
- 复杂的多步自动化: 把 Webflow webhook 接入 Make 或 Zapier 是合理选择,但要预留付费套餐的预算。
- 已经在用 Netlify: Netlify Forms 对简单场景没问题,但任何有实际流量的网站很快就会撞上每月 100 次的上限。
对于绝大多数 Webflow 联系表单来说,无非就是姓名、邮箱、留言三个字段,要求稳定地落到收件箱,Sendform 是最快、最简洁的路径。不需要后端,不用盯着每月任务配额,也不会有提交数据躺在你早就忘记的第三方控制台里。
无需编写后端,轻松处理 Webflow 联系表单
Sendform 提供现成的表单 endpoint,直接粘贴到 Webflow 的 Action 字段即可,表单提交数据即时送达你的收件箱,内置垃圾过滤,默认符合 GDPR 要求。
免费试用 Sendform →
当你把 Webflow 表单的 Action 指向外部 endpoint 时,Webflow 内置的成功状态将不再自动触发。大多数表单服务的处理方式是将用户重定向到你指定的感谢页面。在 Sendform 中,你可以在表单设置里配置重定向 URL,提交后访客会跳转到你自定义的确认页面。另一种方式是用 JavaScript 拦截表单的提交事件,通过 fetch() 发送 POST 请求,再手动触发 Webflow 的成功状态。
支持。在项目设置 > 集成 > Webhooks 下,你可以添加一个 webhook,每次有新表单提交时触发。Webflow 会向你指定的 URL 发送一个 JSON POST 请求,包含所有字段值、表单名称和时间戳。你需要一个接收 endpoint,可以是无服务器函数、Pipedream 工作流,或者支持接收 webhook 的表单服务。该功能在 Webflow 的 CMS 和 Business 套餐上可用。
Zapier 位于 Webflow 和你的目标服务(邮件、CRM 等)之间,增加了一个工作流层。它在多步自动化上很强大,但超出每月 100 个任务就需要付费,同时引入了一个潜在的故障点。Sendform 是一个直接的表单 endpoint,提交数据从浏览器直达 Sendform,立即发送邮件给你。没有工作流需要维护,没有任务计数器,也不存在 Zap 悄悄失效的风险。对于普通的联系表单,Sendform 配置更快,日常运行也更稳定。
这取决于具体服务。将提交数据存入自有数据库的服务(如 Formspree、Basin、Netlify Forms)属于数据处理方,这意味着你需要签署数据处理协议,并在隐私政策中予以披露。Sendform 的设计原则是转发数据而非默认留存,这大幅降低了合规负担。无论使用哪种服务,你都应该在隐私政策中说明联系表单数据的处理和传输方式。
可以,而且有几种方式可选。包括 Sendform 在内的大多数表单服务都内置了垃圾过滤。你也可以添加 honeypot 字段,即一个对真实用户不可见但机器人会填写的隐藏输入框,接收服务会忽略该字段有值的提交。对于高流量表单,支持 reCAPTCHA v3 或 hCaptcha 的服务可以提供额外的防护层。Webflow 自身的垃圾过滤仅在使用 Webflow 原生表单处理器时生效,切换到外部 endpoint 后,垃圾防护就完全依赖所用服务自身的工具了。
不需要。将表单的 Action 属性指向外部 URL,在任何 Webflow 套餐下都可以使用,包括免费的 Starter 套餐,因为你只是在修改已发布页面上的一个 HTML 属性。免费套餐的限制在于 Webflow 自身的表单处理功能(控制台存储、通过 Webflow 发送邮件通知)需要付费站点套餐。使用 Sendform 这类外部服务完全绕过了这一限制,表单直接向 Sendform 的服务器发送 POST 请求,与你的 Webflow 套餐级别无关。