其他
需要为 CRM 记录拉取活动历史并生成通话前简报时使用…
适用于已接入 HubSpot CLI 的场景,为联系人、交易、公司或工单汇总沟通记录、生成通话前简报或导出通话转录。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
需要为 CRM 记录拉取活动历史并生成通特定
解决思路
- 先读 `bulk-operations/SKILL.md`,应用 JSONL 管道、批量读取和 `jq` 重塑模式(参考 `resources/json-patterns.md`);以 `hubspot activities list --help` 为准。
- 了解输出结构:`activities list` 每个活动返回一行,按最新优先排序:`{id, type, timestamp, title, body, status, owner_id}`;`timestamp` 为 ISO 8601;`type` 为 `CALL|EMAIL|NOTE|MEETING|TASK`。这与底层对象原始 `hs_call_*` / `hs_timestamp`(Unix 毫秒)不同;如需原始字段用 `hubspot objects get --type calls`。
- 查询某条记录的全部活动:在 `--contact`、`--deal`、`--company`、`--ticket` 中只传一个。
- 用 `--type CALL|EMAIL|NOTE|MEETING|TASK` 过滤类型,用 `--limit N` 取最近 N 条;示例:`hubspot activities list --contact 73235`、`hubspot activities list --deal 67890 --type CALL`、`hubspot activities list --contact 73235 --limit 10`。
- 客户端日期过滤:ISO 8601 字符串可按字典序比较。macOS 下设置 `CUTOFF=$(date -v-30d +%Y-%m-%dT%H:%M:%SZ)`,Linux 下设置 `CUTOFF=$(date -u -d '30 days ago' +%Y-%m-%dT%H:%M:%SZ)`,然后执行 `hubspot activities list --contact 73235 | jq -c --arg cutoff "$CUTOFF" 'select(.timestamp > $cutoff)'`。
- 生成紧凑时间线:`hubspot activities list --contact 73235 --limit 20 | jq -r '"\(.timestamp[0:10]) \(.type) \(.title)"'`。
- 通话前简报由四段管道命令组成:联系人 + 公司 + 未关闭交易 + 活动。使用通过 stdin 的批量 `objects get`,绝不用 `xargs -I{}`(见 `bulk-operations/SKILL.md`)。
- 联系人命令:`hubspot objects get --type contacts $cid --properties email,firstname,lastname,phone,jobtitle,lifecyclestage --format table`。
- 公司命令:`hubspot associations list --from contacts:$cid --to companies | jq -c '{id}' | hubspot objects get --type companies --properties name,domain,industry,annualrevenue --format table`。
- 未关闭交易命令:`hubspot associations list --from contacts:$cid --to deals | jq -c '{id}' | hubspot objects get --type deals --properties dealname,amount,dealstage,closedate,hs_is_closed | jq -c 'select(.properties.hs_is_closed != "true")'`。
- 最近活动命令:`hubspot activities list --contact $cid --limit 10 | jq -r '"\(.timestamp[0:10]) \(.type) \(.title)"'`。
- 按 engagement ID 获取单次通话转录:`hubspot activities calls transcript get --call 54321`。
- 将所有通话转录导出到文件:`hubspot objects list --type calls --limit 100 --properties hs_call_title | jq -r '.id' | while read -r call_id; do hubspot activities calls transcript get --call "$call_id"; done > /tmp/transcripts.jsonl`。
- 转录输出结构:`{"transcriptId":"...","engagementId":...,"transcriptSource":"...","utterances":[...],"createdAt":...}`;`utterances` 数组包含语音内容;如果没有录制或上传转录,它会为空。
- 注意约束:`--limit` 最大 100 且没有 `--after` 游标,长历史无法分页;`body` 可能很长,浏览时用紧凑时间线。
适用边界 · 注意事项
- 不适用于非 HubSpot CRM、未安装/未认证 `hubspot` CLI 或没有对应 HubSpot 账号权限的场景。
- 需要导出超过 100 条且要完整分页的历史活动时,因 `--limit` 最大 100 且无 `--after` 游标,无法可靠完成。
- 当通话没有已录制或上传的 transcript 时,`utterances` 为空,不能依赖该技能获取通话内容。