从其他App启动自动化
大部分自动化都由BCL里的事件启动,例如一笔付款。Webhook Received触发器则从BCL外部启动自动化。BCL会给自动化一个私人链接。当另一个App,例如Zapier、Make或你自己的网站,发送资料到这个链接时,自动化就会用这些资料运行。
Automations → Templates下有两个模板使用这个触发器:
- Email Me From Another App每次收到资料时,都会用电邮把详情发给你。
- Add Contacts From Other Apps把每个人加入你的Bukku联系人(请看在Bukku记录你的销售)。

在你自己的自动化里使用这个触发器:
- 创建一个自动化(请看创建自动化),在Webhooks下选择Webhook Received作为触发器。
- 双击触发器打开Webhook Received Trigger Settings,复制Webhook link。
- 在另一个App里把链接粘贴为发送地址。发送一个POST request,带JSON body或表单栏位。
- 从另一个App发送一个测试请求。它发送的栏位会显示在Variables的From the webhook下,让后面的步骤可以使用。自动化关闭时,BCL会把请求保存为示例,但不会运行步骤。
- 添加你的步骤,例如Send Email步骤,并在里面使用webhook变量。
- 点击Update Automation,开启自动化。
BCL每分钟为每个自动化接受最多60个请求,每个请求最多64 KB。
只接受有signature的请求
Section titled “只接受有signature的请求”任何有链接的人都可以启动这个自动化。要只接受来自你自己App的请求:
- 在Webhook Received Trigger Settings开启Require a signature。
- 复制Signing secret。
- 在另一个App里,为每个请求加上
X-BCL-Signatureheader。它的值是sha256=,后面接用signing secret对原始request body计算出的HMAC-SHA256。 - 点击Save。
之后BCL会拒绝每个没有有效signature的请求。
常见问题
其他App可以发送什么到webhook链接?
一个POST request,带JSON body或表单栏位,最多64 KB。每个栏位都会变成一个变量,嵌套的JSON栏位会变成像customer_email这样的名称。
任何人都可以用这个链接启动我的自动化吗?
可以,只要有链接就行。如果只想接受你自己的App,开启Require a signature,并用Signing secret为每个请求加上signature。
我觉得我的webhook链接泄露了。怎么办?
在触发器设置里生成新链接。旧链接会马上失效,所以要把新链接粘贴到每个发送资料给它的App。