每周一早上9点,我需要一份新鲜的企业名单。N家目标城市的商户,要去重、要入库、要在晨会前发到Slack。以前这是周日晚上的手工活:下CSV、打开HubSpot、比对、导入、发消息。30分钟,每周。

现在是一套Make.com场景,6个模块,跑一趟约0.05美元。零人工。

打开网易新闻 查看精彩图片

disclosure:我运营basedonb,也就是这个流程里的Google Maps线索API。但同样的架构换Outscraper、Apify或任何返回JSON的线索源都能跑通。

【流程骨架】

Cron定时(周一9点)→ HTTP调用basedonb → 迭代器拆分结果数组 → HubSpot按手机号查重 → 路由判断(存在则跳过/不存在则创建)→ 聚合计数 → Slack推送摘要。

输出效果:"本周新增27家曼哈顿牙医,已入库",附带HubSpot细分链接。

【技术栈】

线索源:basedonb(REST API,有文档)。编排:Make.com免费版约1000次操作/月,周频跑 modest 体量够用。Make也有原生的basedonb集成页面,手把手教连。CRM:HubSpot免费版即可。通知:Slack心跳+摘要。

偏爱Zapier也行,basedonb有Zapier集成。选Make是因为Iterator/Router这两个原语,对"拆数组、逐条分支"的场景映射得干净。

【Step 1:HTTP模块

Make.com里选"HTTP" → "Make a request":

URL:https://www.basedonb.com/api/v1/scrapes

Method:POST

Headers:Authorization: Bearer bdb_live_YOUR_KEY;Content-Type: application/json

Body type:Raw → JSON

Body:{"query": "dentists", "country": "US", "city": "New York", "target_leads": 100}

Parse response:Yes(下游模块才能按路径取字段)。

API返回两种形态:200且status为"done",results数组直接内联(缓存命中,热门查询常见);202且status为"submitted",带id需轮询。

周频Cron的最简策略:把target_leads设成确定能命中缓存的量(几百以内),按status路由。若必须刷 niche 查询的实时数据,加后续"轮询"模块——Make有内置Sleep + Repeater组合。模式是:Repeater 1到30次 → Sleep 10秒 → HTTP GET /scrapes/{{id}} → status为done时Break。

我把轮询逻辑拆到单独场景,主线保持线性。

【Step 2:迭代器】

basedonb的响应含results数组。拖一个Make Iterator指向1.results,后续模块逐条执行。

【Step 3:HubSpot查重】

多数"线索流水线"的坑是每次跑都重复入库。最便宜的查重字段是手机号——basedonb返回E.164格式(如+12125550101),HubSpot原生识别。

HubSpot模块选"Search Objects":Object type为Contacts;Filter为phone equals {{phone}};Limit 1。