双向 CRM 同步:Salesforce ↔ Administrate

一个每 15 分钟运行的事件驱动管道,使 Salesforce 和 Administrate 之间的账户、联系人和机会完美对齐 — 工作流程健康度 100%。
挑战
Administrate(培训与活动管理平台)和 Salesforce 都持有必须保持同步的 CRM 数据。记录被手动管理、跨系统重复,并且没有可靠的方式在双向保持账户、联系人和机会对齐。
解决方案
我们设计并交付了一个双向集成,运行在自托管的 n8n 实例上,编排器每 15 分钟处理一次同步队列。
- Salesforce → Administrate:账户、联系人、机会和订单项作为批量 upsert 流动,通过外部 ID 匹配。
- Administrate → Salesforce:账户和联系人资料作为复合批次返回。
- 11 个工作流程 + 10 个数据表。
- 内置循环预防(按 Salesforce ID 进行 PATCH)和冲突解决(最后写入获胜)。
- 通过 Slack 和 Telegram 的双通道告警。
结果
- 所有活动实体 100% 工作流程健康。
- 处理 2,000+ 条记录响应的分页,每次运行 200 条记录的批次。
- 为 ~350k 更新/天的最坏情况设计,约 70% 在源头被过滤。
业务问题
- 数据存在于两个系统(Salesforce + Administrate),没有可靠的同步
- 手动数据输入导致 CRM 记录之间的重复和偏差
- 高预计量(最坏情况 ~350k 更新/天)需要可扩展的增量设计
主要优势
- 双向增量同步自动保持两个系统一致
- 通过外部 ID 匹配的批量 upsert — 无重复记录
- 管道内置循环预防和冲突解决
- 故障通过专门的错误通知器即时显示在 Slack 和 Telegram 中
应用详情
- 自托管 n8n,包含 11 个共享 + 租户特定工作流程
- 10 个 n8n 数据表配置实体、映射、队列、状态和告警
- 编排器每 15 分钟运行一次,批次为 200 条记录
- 事件与注册同步已预构建并准备激活