sales-integration
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseConnect Sales Tools
销售工具集成指南
Help the user design and implement integrations between sales tools — from choosing the right integration method through trigger/action design, field mapping, and error handling. This skill covers webhooks, Zapier/Make, native integrations, and custom API pipelines.
帮助用户设计并实现销售工具之间的集成——从选择合适的集成方式,到触发/操作设计、字段映射和错误处理。本技能涵盖webhooks、Zapier/Make、原生集成和自定义API管道。
Step 1 — Gather context
步骤1 — 收集上下文信息
Ask the user:
-
What are you connecting?
- Source tool (where the event happens): Mailshake, Apollo, Salesloft, Smartlead, Lemlist, Yesware, Groove.cm, Mixmax, Reply.io, Woodpecker, HubSpot, Salesforce, Qwilr, other
- Destination tool (where the action should happen): Salesforce, HubSpot, Slack, Pipedrive, other
- Is this one-way or bidirectional?
-
What should trigger the integration?
- A) Email reply received
- B) New lead captured
- C) Meeting booked
- D) Deal stage changed
- E) Contact created/updated
- F) Sequence/cadence completed
- G) Form submission
- H) Custom event — describe it
-
What should happen when triggered?
- A) Create a record (contact, task, deal, activity)
- B) Update a record (field change, stage change, owner change)
- C) Send a notification (Slack, email, SMS)
- D) Enroll in a sequence/cadence
- E) Multiple actions — describe
-
What's your technical comfort level?
- A) No-code — Zapier, Make, native integrations only
- B) Low-code — comfortable with basic API calls, can follow docs
- C) Code — can build custom integrations with API + webhooks
-
What's your current stack? (list all sales/marketing/CRM tools in use)
If the user's request already provides most of this context, skip directly to the relevant step. Lead with your best-effort answer using reasonable assumptions (stated explicitly), then ask only the most critical 1-2 clarifying questions at the end — don't gate your response behind gathering complete context.
询问用户:
-
你要连接哪些工具?
- 源工具(事件发生的工具):Mailshake、Apollo、Salesloft、Smartlead、Lemlist、Yesware、Groove.cm、Mixmax、Reply.io、Woodpecker、HubSpot、Salesforce、Qwilr、其他
- 目标工具(执行操作的工具):Salesforce、HubSpot、Slack、Pipedrive、其他
- 是单向同步还是双向同步?
-
集成的触发条件是什么?
- A) 收到邮件回复
- B) 捕获新线索
- C) 会议已预订
- D) 交易阶段变更
- E) 联系人创建/更新
- F) 序列/节奏完成
- G) 表单提交
- H) 自定义事件——请描述
-
触发后需要执行什么操作?
- A) 创建记录(联系人、任务、交易、活动)
- B) 更新记录(字段变更、阶段变更、负责人变更)
- C) 发送通知(Slack、邮件、短信)
- D) 加入序列/节奏
- E) 多个操作——请描述
-
你的技术熟练度如何?
- A) 无代码——仅使用Zapier、Make、原生集成
- B) 低代码——熟悉基础API调用,能遵循文档操作
- C) 代码开发——能使用API + webhooks构建自定义集成
-
你当前使用的工具栈有哪些?(列出所有正在使用的销售/营销/CRM工具)
**如果用户的请求已提供大部分上述上下文信息,可直接跳转到相关步骤。**先基于合理假设给出最佳答案(需明确说明假设),最后仅询问最关键的1-2个澄清问题——不要要求用户提供完整上下文后才给出回复。
Step 2 — Integration architecture
步骤2 — 集成架构设计
Choose the right integration method based on complexity and technical requirements.
根据复杂度和技术要求选择合适的集成方式。
Decision matrix
决策矩阵
| Method | Best for | Technical skill | Cost | Reliability |
|---|---|---|---|---|
| Native integration | CRM sync, built-in connectors | None | Free (included) | High |
| Zapier / Make | Multi-step workflows, no-code | Low | $20-100/mo | High |
| Webhooks + handler | Real-time events, custom logic | Medium | Free-low | Medium-high |
| Custom API pipeline | Complex transformations, high volume | High | Varies | Depends on implementation |
| 方法 | 适用场景 | 技术要求 | 成本 | 可靠性 |
|---|---|---|---|---|
| 原生集成 | CRM同步、内置连接器 | 无 | 免费(已包含在工具中) | 高 |
| Zapier / Make | 多步骤工作流、无代码场景 | 低 | 20-100美元/月 | 高 |
| Webhooks + 处理程序 | 实时事件、自定义逻辑 | 中 | 免费-低成本 | 中-高 |
| 自定义API管道 | 复杂数据转换、高数据量场景 | 高 | 视情况而定 | 取决于实现质量 |
Native integrations — always check first
原生集成——优先检查
Before building anything custom, check if a native integration exists:
| Tool pair | Native integration? | What it does |
|---|---|---|
| Mailshake → Salesforce | Yes | Push leads, sync activity |
| Mailshake → HubSpot | Yes | Push leads, sync activity |
| Mailshake → Pipedrive | Yes | Push leads |
| Apollo → Salesforce | Yes (bi-directional) | Full contact/account/deal sync |
| Apollo → HubSpot | Yes (bi-directional) | Full contact/account/deal sync |
| Salesloft → Salesforce | Yes (bi-directional) | Contact/account/activity sync |
| Salesloft → HubSpot | Yes | Activity sync |
| Smartlead → HubSpot | Yes (native) | Push leads, sync activity |
| Smartlead → Salesforce | Via OutboundSync (third-party) | Lead and activity sync |
| Smartlead → Clay | Yes (native) | Enrichment pipeline |
| Lemlist → HubSpot | Yes (native) | Push leads, sync activity |
| Lemlist → Salesforce | Yes (native, 2-way) | Lead and activity sync |
| Lemlist → Pipedrive | Yes (native) | Push leads |
| Yesware → Salesforce | Yes (Enterprise plan, bi-directional) | Email/calendar/activity sync, inbox sidebar |
| Yesware → Gmail | Yes (Chrome extension) | Email tracking, templates, campaigns |
| Yesware → Outlook | Yes (add-in) | Email tracking, templates, campaigns |
| Yesware → Zoom | Yes (native) | Auto-generate meeting links in scheduler |
| Yesware → LinkedIn | Yes (native) | Prospect insights from inbox |
| Mixmax → Salesforce | Yes (Growth+CRM plan) | Inbox sidebar, auto-create leads, activity sync, advanced rules |
| Mixmax → HubSpot | Yes (Growth plan) | Activity sync, list import, sidebar |
| Mixmax → Slack | Yes (native) | Real-time tracking notifications |
| Mixmax → LinkedIn Sales Navigator | Yes (native) | InMail and connection requests in sequences |
| Mixmax → Zoom | Yes (native) | Auto-generate meeting links |
| Reply.io → Salesforce | Yes (native, bi-directional) | Contact/lead sync, email/call/task activity, status sync, custom workflows |
| Reply.io → HubSpot | Yes (native, bi-directional) | Contact sync (auto-sync every 2h), email/call/task activity, status sync, field mappings |
| Reply.io → Pipedrive | Yes (native) | Contact sync, activity logging |
| Woodpecker → HubSpot | Yes (native, with API add-on) | Contact sync, activity logging, deal stage triggers |
| Woodpecker → Pipedrive | Yes (native) | Contact sync, activity logging |
| Woodpecker → Salesforce | Via Zapier | Contact sync, activity logging |
| Woodpecker → Clay | Yes (native) | Enrichment pipeline |
| Woodpecker → Calendly | Yes (native) | Meeting booking from campaigns |
| Qwilr → Salesforce | Yes | Proposal/quote sync — see |
| Qwilr → HubSpot | Yes | Proposal/quote sync — see |
Rule: If a native integration covers your use case, use it. Native integrations handle auth, retry, and error handling automatically. Only go custom when native doesn't support your specific trigger or action.
在构建任何自定义集成前,先确认是否存在原生集成:
| 工具组合 | 是否有原生集成? | 功能说明 |
|---|---|---|
| Mailshake → Salesforce | 是 | 推送线索、同步活动 |
| Mailshake → HubSpot | 是 | 推送线索、同步活动 |
| Mailshake → Pipedrive | 是 | 推送线索 |
| Apollo → Salesforce | 是(双向) | 完整的联系人/客户/交易同步 |
| Apollo → HubSpot | 是(双向) | 完整的联系人/客户/交易同步 |
| Salesloft → Salesforce | 是(双向) | 联系人/客户/活动同步 |
| Salesloft → HubSpot | 是 | 活动同步 |
| Smartlead → HubSpot | 是(原生) | 推送线索、同步活动 |
| Smartlead → Salesforce | 通过OutboundSync(第三方) | 线索和活动同步 |
| Smartlead → Clay | 是(原生) | 数据 enrichment 管道 |
| Lemlist → HubSpot | 是(原生) | 推送线索、同步活动 |
| Lemlist → Salesforce | 是(原生,双向) | 线索和活动同步 |
| Lemlist → Pipedrive | 是(原生) | 推送线索 |
| Yesware → Salesforce | 是(企业版,双向) | 邮件/日历/活动同步、收件箱侧边栏 |
| Yesware → Gmail | 是(Chrome扩展) | 邮件追踪、模板、营销活动 |
| Yesware → Outlook | 是(插件) | 邮件追踪、模板、营销活动 |
| Yesware → Zoom | 是(原生) | 在调度器中自动生成会议链接 |
| Yesware → LinkedIn | 是(原生) | 从收件箱查看潜在客户洞察 |
| Mixmax → Salesforce | 是(Growth+CRM版) | 收件箱侧边栏、自动创建线索、活动同步、高级规则 |
| Mixmax → HubSpot | 是(Growth版) | 活动同步、列表导入、侧边栏 |
| Mixmax → Slack | 是(原生) | 实时追踪通知 |
| Mixmax → LinkedIn Sales Navigator | 是(原生) | 在序列中发送InMail和连接请求 |
| Mixmax → Zoom | 是(原生) | 自动生成会议链接 |
| Reply.io → Salesforce | 是(原生,双向) | 联系人/线索同步、邮件/通话/任务活动、状态同步、自定义工作流 |
| Reply.io → HubSpot | 是(原生,双向) | 联系人同步(每2小时自动同步)、邮件/通话/任务活动、状态同步、字段映射 |
| Reply.io → Pipedrive | 是(原生) | 联系人同步、活动记录 |
| Woodpecker → HubSpot | 是(原生,需API附加组件) | 联系人同步、活动记录、交易阶段触发 |
| Woodpecker → Pipedrive | 是(原生) | 联系人同步、活动记录 |
| Woodpecker → Salesforce | 通过Zapier | 联系人同步、活动记录 |
| Woodpecker → Clay | 是(原生) | 数据 enrichment 管道 |
| Woodpecker → Calendly | 是(原生) | 从营销活动中预订会议 |
| Qwilr → Salesforce | 是 | 提案/报价同步——请查看/sales-qwilr-automation |
| Qwilr → HubSpot | 是 | 提案/报价同步——请查看/sales-qwilr-automation |
规则:如果原生集成能满足你的使用场景,请优先使用。原生集成会自动处理身份验证、重试和错误处理,更可靠,能更好地处理边缘情况,且无需额外付费。在构建自定义集成前,请先检查两个工具的「设置 > 集成」选项。
Step 3 — Common integration patterns
步骤3 — 常见集成模式
Lead/reply → CRM record + notification
线索/回复 → CRM记录 + 通知
Trigger: Reply received in Mailshake/Apollo/Salesloft
Actions:
- Create or update contact in CRM
- Create activity/task on the contact record
- Send Slack notification to rep
Implementation options:
- Zapier: Trigger = Mailshake "Reply Received" → Actions = Salesforce "Create Task" + Slack "Send Message"
- Webhook: Mailshake push event (Reply) → your endpoint → Salesforce API + Slack API
- Native: Mailshake-Salesforce integration (auto-syncs replies as activities)
触发条件:在Mailshake/Apollo/Salesloft中收到回复
操作:
- 在CRM中创建或更新联系人
- 在联系人记录上创建活动/任务
- 向销售代表发送Slack通知
实现选项:
- Zapier:触发条件 = Mailshake「收到回复」→ 操作 = Salesforce「创建任务」 + Slack「发送消息」
- Webhook:Mailshake推送事件(回复)→ 你的端点 → Salesforce API + Slack API
- 原生集成:Mailshake-Salesforce集成(自动将回复同步为活动)
Meeting booked → CRM + sequence exit
会议预订 → CRM更新 + 退出序列
Trigger: Meeting booked (Calendly, Chili Piper, or CRM scheduler)
Actions:
- Update contact status/stage in CRM
- Remove from active sequence/cadence
- Create deal/opportunity
- Notify AE
触发条件:会议已预订(Calendly、Chili Piper或CRM调度器)
操作:
- 在CRM中更新联系人状态/阶段
- 将联系人从活跃序列/节奏中移除
- 创建交易/销售机会
- 通知客户成功经理
CRM status change → sequence enrollment
CRM状态变更 → 加入序列
Trigger: Lead status changes to "MQL" in CRM
Actions:
- Enroll contact in outbound sequence (Apollo, Salesloft, Mailshake)
- Assign to appropriate rep based on routing rules
Implementation options:
- Zapier/Make (no-code): HubSpot "Lifecycle Stage Change" trigger → Apollo "Add Contact to Sequence" action. Easiest setup, handles auth automatically.
- CRM webhook + custom API (low-code): HubSpot workflow triggers webhook → your endpoint calls Apollo . More control over field mapping, error handling, and conditional logic.
POST /contacts/add_to_emailer_campaign - Native CRM workflow (if supported): Some CRM-to-engagement-tool integrations support enrollment triggers natively — check Settings > Integrations before building custom.
Error handling for sequence enrollment:
- Duplicate contact: Check if contact already exists in the engagement tool before creating — use "Find or Create" logic
- Already enrolled: The API may reject enrollment if the contact is active in another sequence — handle gracefully (log, skip, or queue for later)
- Sequence capacity / enrollment limits: Sequences may have max enrollment caps or daily add limits. Monitor the API response for limit errors and implement a retry queue for overflow.
- Re-qualification: If a lead was previously disqualified and re-enters MQL, decide whether to re-enroll or skip (prevent spamming the same contact)
触发条件:CRM中线索状态变为「MQL(营销合格线索)」
操作:
- 将联系人加入外呼序列(Apollo、Salesloft、Mailshake)
- 根据路由规则分配给合适的销售代表
实现选项:
- Zapier/Make(无代码):HubSpot「生命周期阶段变更」触发 → Apollo「将联系人添加到序列」操作。设置最简单,自动处理身份验证。
- CRM webhook + 自定义API(低代码):HubSpot工作流触发webhook → 你的端点调用Apollo 。对字段映射、错误处理和条件逻辑有更多控制权。
POST /contacts/add_to_emailer_campaign - 原生CRM工作流(如果支持):部分CRM与营销工具的集成原生支持加入序列的触发条件——在构建自定义集成前,请先检查「设置 > 集成」。
序列加入的错误处理:
- 重复联系人:在创建前检查联系人是否已存在于营销工具中——使用「查找或创建」逻辑
- 已加入序列:如果联系人已活跃在另一个序列中,API可能会拒绝加入请求——需优雅处理(记录、跳过或稍后排队)
- 序列容量/加入限制:序列可能有最大加入人数限制或每日添加限制。监控API响应中的限制错误,为溢出请求实现重试队列。
- 重新资格审核:如果线索之前被取消资格后再次变为MQL,需决定是否重新加入序列或跳过(避免向同一联系人发送垃圾信息)
Deal stage change → stakeholder notification
交易阶段变更 → 利益相关者通知
Trigger: Deal moves to "Proposal Sent" or "Negotiation" in CRM
Actions:
- Notify relevant stakeholders in Slack
- Create follow-up task for rep
- Trigger proposal creation in Qwilr (see )
/sales-qwilr-automation
触发条件:CRM中交易阶段变为「已发送提案」或「谈判中」
操作:
- 向相关利益相关者发送Slack通知
- 为销售代表创建跟进任务
- 触发Qwilr中的提案创建(请查看/sales-qwilr-automation)
Multi-tool activity sync
多工具活动同步
Trigger: Any activity logged in engagement tool (email sent, call made, meeting held)
Action: Sync activity to CRM as a completed task/activity
Key considerations:
- Define sync direction (one-way vs bidirectional)
- Map fields between tools (Salesloft "Call" → Salesforce "Task" with type "Call")
- Handle duplicates (check if activity already exists before creating)
触发条件:营销工具中记录了任何活动(发送邮件、拨打电话、举行会议)
操作:将活动同步到CRM中,标记为已完成的任务/活动
关键注意事项:
- 定义同步方向(单向 vs 双向)
- 映射工具间的字段(例如Salesloft「通话」→ Salesforce「任务」,类型为「通话」)
- 处理重复数据(在创建前检查活动是否已存在)
Step 4 — Platform webhook reference
步骤4 — 平台Webhook参考
Mailshake webhooks
Mailshake webhooks
- Setup: API endpoint with
/push/createandtargetUrlevent - Events: Sent, Open, Click, Reply, LeadCatcher, Bounce, Unsubscribe
- Payload: JSON with event type, recipientID, campaignID, timestamp, event-specific data
- Full reference: See →
/sales-mailshakereferences/mailshake-api-reference.md
- 设置:API端点 ,需传入
/push/create和targetUrl参数event - 事件类型:Sent(已发送)、Open(已打开)、Click(已点击)、Reply(已回复)、LeadCatcher(捕获线索)、Bounce(退信)、Unsubscribe(取消订阅)
- 负载:JSON格式,包含事件类型、recipientID、campaignID、时间戳和事件特定数据
- 完整参考:查看 →
/sales-mailshakereferences/mailshake-api-reference.md
Apollo webhooks
Apollo webhooks
- Setup: Settings > Integrations > Webhooks
- Events: Contact created, contact updated, sequence enrollment, sequence completion, email bounced
- Note: Apollo's webhook support is more limited than Mailshake's. For complex automations, use the REST API with polling.
- 设置:设置 > 集成 > Webhooks
- 事件类型:联系人创建、联系人更新、序列加入、序列完成、邮件退信
- 注意:Apollo的webhook支持比Mailshake有限。对于复杂自动化,建议使用REST API轮询。
Salesloft webhooks
Salesloft webhooks
- Setup: Settings > Integrations > Webhooks (admin only)
- Events: Person created/updated, cadence step completed, email bounced, call logged
- Note: Salesloft also offers a robust REST API for building custom integrations
- 设置:设置 > 集成 > Webhooks(仅管理员权限)
- 事件类型:人员创建/更新、节奏步骤完成、邮件退信、通话记录
- 注意:Salesloft还提供强大的REST API用于构建自定义集成
Smartlead webhooks
Smartlead webhooks
- Setup: API endpoint with
POST /webhooksandurlevent_type - Events: LEAD_REPLIED, LEAD_INTERESTED, LEAD_UNSUBSCRIBED, EMAIL_SENT, EMAIL_OPENED, EMAIL_CLICKED, EMAIL_BOUNCED
- Payload: JSON with event_type, timestamp, and data object (lead_id, campaign_id, email, event-specific fields)
- Full reference: See →
/sales-smartleadreferences/smartlead-api-reference.md
- 设置:API端点 ,需传入
POST /webhooks和url参数event_type - 事件类型:LEAD_REPLIED(线索回复)、LEAD_INTERESTED(线索感兴趣)、LEAD_UNSUBSCRIBED(线索取消订阅)、EMAIL_SENT(邮件已发送)、EMAIL_OPENED(邮件已打开)、EMAIL_CLICKED(邮件已点击)、EMAIL_BOUNCED(邮件退信)
- 负载:JSON格式,包含event_type、时间戳和数据对象(lead_id、campaign_id、邮箱、事件特定字段)
- 完整参考:查看 →
/sales-smartleadreferences/smartlead-api-reference.md
Lemlist webhooks
Lemlist webhooks
- Setup: API endpoint with
POST /api/webhooksand event configurationurl - Events: Reply, open, click, bounce, unsubscribe, lead interested, lead not interested
- Rate limits: 20 requests per 2 seconds on all API endpoints
- Full reference: See →
/sales-lemlistreferences/lemlist-api-reference.md
- 设置:API端点 ,需传入
POST /api/webhooks和事件配置url - 事件类型:回复、打开、点击、退信、取消订阅、线索感兴趣、线索不感兴趣
- 速率限制:所有API端点的速率限制为20请求/2秒
- 完整参考:查看 →
/sales-lemlistreferences/lemlist-api-reference.md
Groove.cm webhooks
Groove.cm webhooks
- Setup: GrooveSell product settings > Webhooks
- Events: Sale, Refund, Failed Rebill, Cancellation
- Payload: JSON with event type, product, customer, and transaction data
- Note: Groove.cm has no public REST API. For integrations beyond webhooks, use Zapier (triggers/actions for GrooveMail and GrooveSell).
- Full reference: See
/sales-groove
- 设置:GrooveSell产品设置 > Webhooks
- 事件类型:销售、退款、续费失败、取消订阅
- 负载:JSON格式,包含事件类型、产品、客户和交易数据
- 注意:Groove.cm没有公开的REST API。除webhooks外的集成,请使用Zapier(GrooveMail和GrooveSell的触发/操作)。
- 完整参考:查看
/sales-groove
Yesware integrations
Yesware集成
- No public API: Yesware does not offer a public REST API. No webhook endpoints, no developer docs.
- Integration methods: Native connectors only — Salesforce (Enterprise plan), Gmail, Outlook, Zoom, LinkedIn, Clari, DocSend
- Zapier: Limited Zapier support — check Zapier for available triggers/actions (may be community-built, not official)
- For custom integrations: No programmatic access. If you need Yesware data in other tools, the Salesforce integration (Enterprise plan) is the best bridge — sync Yesware activity to Salesforce, then integrate Salesforce with other tools.
- Workaround: For teams needing API access, consider Salesloft, Apollo, or Mailshake which all offer full REST APIs.
- 无公开API:Yesware不提供公开的REST API,没有webhook端点和开发者文档。
- 集成方式:仅支持原生连接器——Salesforce(企业版)、Gmail、Outlook、Zoom、LinkedIn、Clari、DocSend
- Zapier:Zapier支持有限——请查看Zapier上可用的触发/操作(可能是社区构建,非官方)
- 自定义集成方案:无程序化访问权限。如果需要将Yesware数据同步到其他工具,Salesforce集成(企业版)是最佳桥梁——先将Yesware活动同步到Salesforce,再将Salesforce与其他工具集成。
- 替代方案:对于需要API访问权限的团队,可考虑Salesloft、Apollo或Mailshake,这些工具都提供完整的REST API。
Reply.io webhooks
Reply.io webhooks
- Setup: API endpoint or via Settings > Integrations > Webhooks in dashboard
POST /webhooks - Events: Contact replied, email sent, email opened, email clicked, email bounced, contact status changed, task created (specific event types available via )
GET /webhook-events - Delivery management: API endpoints for managing webhook delivery, retries, and failures
- API versions: V3 (beta) has full webhook management; V1/V2 have basic webhook support
- Full reference: See →
/sales-replyreferences/reply-api-reference.md
- 设置:API端点 或通过仪表盘的「设置 > 集成 > Webhooks」配置
POST /webhooks - 事件类型:联系人回复、邮件发送、邮件打开、邮件点击、邮件退信、联系人状态变更、任务创建(特定事件类型可通过获取)
GET /webhook-events - 交付管理:提供API端点用于管理webhook交付、重试和失败处理
- API版本:V3(测试版)支持完整的webhook管理;V1/V2仅支持基础webhook功能
- 完整参考:查看 →
/sales-replyreferences/reply-api-reference.md
Woodpecker webhooks
Woodpecker webhooks
- Setup: API endpoint or via Settings > Integrations > Webhooks in dashboard
- Events: Prospect replied, email sent, email opened, email clicked, email bounced, prospect status changed, prospect interested (specific events via webhook management endpoints)
- API access: Requires API & integrations add-on (€20/mo)
- Rate limits: Same as main API — 1 concurrent request, queue of 6
- Full reference: See →
/sales-woodpeckerreferences/woodpecker-api-reference.md
- 设置:API端点或通过仪表盘的「设置 > 集成 > Webhooks」配置
- 事件类型:潜在客户回复、邮件发送、邮件打开、邮件点击、邮件退信、潜在客户状态变更、潜在客户感兴趣(特定事件可通过webhook管理端点获取)
- API访问权限:需要API & 集成附加组件(20欧元/月)
- 速率限制:与主API相同——1个并发请求,队列容量为6
- 完整参考:查看 →
/sales-woodpeckerreferences/woodpecker-api-reference.md
Mixmax rules (webhooks)
Mixmax规则(webhooks)
- Setup: Dashboard at app.mixmax.com/dashboard/rules or API with trigger and actions
POST /rules - Trigger types: IF/THEN rules on email events (open, click, reply), Salesforce object changes (new/updated opportunities, accounts, custom objects), date fields, lead owner changes
- Action types: Webhook call, Salesforce record update, sequence enrollment, task creation, Slack notification
- Advanced rules: Growth+CRM plan — trigger on Salesforce objects, use complex logic (AND/OR conditions)
- API: ,
GET/POST /rules,PATCH/DELETE /rules/:idPOST/GET /rules/:id/actions - Note: Mixmax rules are more of an automation engine than simple webhooks — they combine triggers and actions with conditional logic. For simple webhook forwarding, create a rule with a webhook action.
- 设置:仪表盘 app.mixmax.com/dashboard/rules 或通过API 配置触发条件和操作
POST /rules - 触发类型:邮件事件(打开、点击、回复)、Salesforce对象变更(新/更新的销售机会、客户、自定义对象)、日期字段、线索负责人变更的IF/THEN规则
- 操作类型:调用webhook、更新Salesforce记录、加入序列、创建任务、发送Slack通知
- 高级规则:Growth+CRM版——支持基于Salesforce对象触发,使用复杂逻辑(AND/OR条件)
- API:、
GET/POST /rules、PATCH/DELETE /rules/:idPOST/GET /rules/:id/actions - 注意:Mixmax规则更像是一个自动化引擎,而非简单的webhooks——它将触发条件、操作和条件逻辑结合在一起。如果需要简单的webhook转发,可创建带webhook操作的规则。
Qwilr webhooks
Qwilr webhooks
- Full reference: See for Qwilr-specific webhook events and CRM integrations
/sales-qwilr-automation
- 完整参考:查看 获取Qwilr专属的webhook事件和CRM集成信息
/sales-qwilr-automation
Step 5 — Data sync best practices
步骤5 — 数据同步最佳实践
Define source of truth
定义数据源权威
Before building any bidirectional sync, decide which tool is the source of truth for each field:
| Data type | Typical source of truth | Why |
|---|---|---|
| Contact info (name, email, phone) | CRM (Salesforce/HubSpot) | CRM is the canonical record |
| Activity data (emails, calls) | Engagement tool (Apollo/Salesloft/Mailshake) | Activity originates in the engagement tool |
| Deal/opportunity | CRM | Revenue data lives in CRM |
| Lead score | MAP or CRM | Scoring logic runs in MAP/CRM |
| Sequence status | Engagement tool | Sequence state managed by engagement tool |
在构建任何双向同步前,需确定每个字段的数据源权威工具:
| 数据类型 | 典型数据源权威 | 原因 |
|---|---|---|
| 联系人信息(姓名、邮箱、电话) | CRM(Salesforce/HubSpot) | CRM是标准化的记录存储库 |
| 活动数据(邮件、通话) | 营销工具(Apollo/Salesloft/Mailshake) | 活动起源于营销工具 |
| 交易/销售机会 | CRM | 收入数据存储在CRM中 |
| 线索评分 | MAP或CRM | 评分逻辑在MAP/CRM中运行 |
| 序列状态 | 营销工具 | 序列状态由营销工具管理 |
Conflict resolution
冲突解决
- Last-write-wins: Simple but dangerous — later update overwrites earlier one
- Source-of-truth wins: Designated source always overwrites destination
- Field-level rules: Different rules per field (e.g., CRM wins for phone, engagement tool wins for email status)
- Manual review: Flag conflicts for human review (safest for critical fields)
- 最后写入获胜:简单但有风险——较新的更新覆盖较早的更新
- 数据源权威获胜:指定的权威工具的更新始终覆盖目标工具的数据
- 字段级规则:为每个字段设置不同的规则(例如,CRM的电话字段数据优先,营销工具的邮箱状态数据优先)
- 人工审核:标记冲突数据供人工审核(对关键字段最安全)
Deduplication
重复数据删除
- Match keys: Email address (primary), company domain + name (secondary)
- When to dedup: Before creating records, during sync, and periodically as maintenance
- Tools: Native CRM dedup (Salesforce Duplicate Rules, HubSpot dedup tool), or third-party (Dedupely, RingLead)
- 匹配键:邮箱地址(主键)、公司域名+姓名(副键)
- 去重时机:创建记录前、同步过程中、定期维护
- 工具:CRM原生去重(Salesforce重复规则、HubSpot去重工具)或第三方工具(Dedupely、RingLead)
Error handling
错误处理
- Retry logic: Implement exponential backoff for failed API calls (1s, 2s, 4s, 8s)
- Dead letter queue: Store failed events for manual review and replay
- Alerting: Slack/email notification when sync errors exceed threshold
- Monitoring: Track sync success rate, latency, and error types weekly
- 重试逻辑:对失败的API调用实现指数退避重试(1秒、2秒、4秒、8秒)
- 死信队列:存储失败事件供人工审核和重放
- 告警:当同步错误超过阈值时发送Slack/邮件通知
- 监控:每周跟踪同步成功率、延迟和错误类型
Gotchas
注意事项
- Check native integrations first. Don't build a Zapier workflow for something the tools already handle natively. Native integrations are more reliable, handle edge cases better, and don't cost extra. Check Settings > Integrations in both tools before going custom.
- Respect API rate limits. Every tool has rate limits — Mailshake (100/min), Apollo (~200/min on Pro), Salesforce (varies), HubSpot (100/10s). High-volume syncs that ignore rate limits will get throttled or blocked. Always implement batching and backoff.
- Define source of truth before bidirectional sync. Bidirectional sync without clear field-level ownership creates data ping-pong (A updates B, B updates A, loop). For every field that syncs bidirectionally, document which tool wins on conflict.
- 优先检查原生集成:不要为工具已原生支持的功能构建Zapier工作流。原生集成更可靠,能更好地处理边缘情况,且无需额外付费。在构建自定义集成前,请先检查两个工具的「设置 > 集成」选项。
- 遵守API速率限制:每个工具都有速率限制——Mailshake(100次/分钟)、Apollo(专业版约200次/分钟)、Salesforce(视版本而定)、HubSpot(10次/10秒)。高容量同步如果忽略速率限制,会被限流或阻止。务必实现批量处理和退避机制。
- 双向同步前定义数据源权威:如果没有明确的字段级所有权,双向同步会导致数据循环更新(A更新B,B更新A,形成循环)。对于每个双向同步的字段,需记录冲突时以哪个工具的数据为准。
Related skills
相关技能
- — Qwilr-specific CRM integrations, API, and webhook events
/sales-qwilr-automation - — Mailshake platform help including API and webhook details
/sales-mailshake - — Apollo platform help including CRM sync and API
/sales-apollo - — Smartlead platform help including API and webhook details
/sales-smartlead - — Lemlist platform help including API and webhook details
/sales-lemlist - — Salesloft platform help including integrations
/sales-salesloft - — Groove.cm platform help including GrooveSell webhooks and Zapier integration
/sales-groove - — Yesware platform help (native Salesforce integration, no API)
/sales-yesware - — Mixmax platform help including rules engine and integrations
/sales-mixmax - — Reply.io platform help including webhooks and integrations
/sales-reply - — Woodpecker platform help including API and webhook details
/sales-woodpecker - — Email deliverability (relevant when integrating sending tools)
/sales-deliverability - — Not sure which skill to use? The router matches any sales objective to the right skill.
/sales-do
- — Qwilr专属CRM集成、API和webhook事件
/sales-qwilr-automation - — Mailshake平台使用帮助,包括API和webhook详情
/sales-mailshake - — Apollo平台使用帮助,包括CRM同步和API
/sales-apollo - — Smartlead平台使用帮助,包括API和webhook详情
/sales-smartlead - — Lemlist平台使用帮助,包括API和webhook详情
/sales-lemlist - — Salesloft平台使用帮助,包括集成
/sales-salesloft - — Groove.cm平台使用帮助,包括GrooveSell webhooks和Zapier集成
/sales-groove - — Yesware平台使用帮助(原生Salesforce集成,无API)
/sales-yesware - — Mixmax平台使用帮助,包括规则引擎和集成
/sales-mixmax - — Reply.io平台使用帮助,包括webhooks和集成
/sales-reply - — Woodpecker平台使用帮助,包括API和webhook详情
/sales-woodpecker - — 邮件送达率(与发送工具集成相关)
/sales-deliverability - — 不确定使用哪个技能?该技能会将任何销售目标匹配到合适的技能。
/sales-do
Examples
示例
Example 1: Mailshake reply → Salesforce + Slack
示例1:Mailshake回复 → Salesforce + Slack
User says: "When someone replies to my Mailshake campaign, I want to create a task in Salesforce and get a Slack notification."
Skill does:
- Checks if Mailshake-Salesforce native integration covers this (it does for activity sync)
- Recommends native for Salesforce + Zapier for Slack notification
- Provides Zapier workflow: Mailshake "Reply" trigger → Slack "Send Message" action
- Configures field mapping for the Salesforce activity Result: Reply-to-task sync via native integration, Slack alert via Zapier
用户需求:"当有人回复我的Mailshake营销活动时,我想在Salesforce中创建一个任务,并收到Slack通知。"
技能处理:
- 检查Mailshake-Salesforce原生集成是否支持该场景(原生集成支持活动同步)
- 推荐使用原生集成处理Salesforce同步,使用Zapier处理Slack通知
- 提供Zapier工作流配置:Mailshake「收到回复」触发 → Slack「发送消息」操作
- 提供Salesforce活动的字段映射配置 结果:通过原生集成实现回复到任务的同步,通过Zapier实现Slack告警
Example 2: Salesloft activity → HubSpot
示例2:Salesloft活动 → HubSpot
User says: "I need to sync all Salesloft activity to HubSpot so our marketing team can see sales touchpoints."
Skill does:
- Checks native integration (Salesloft-HubSpot integration exists)
- Walks through native integration setup and field mapping
- Defines sync direction (Salesloft → HubSpot, one-way for activity)
- Addresses dedup and conflict resolution Result: Native integration configured with clear sync direction and field mapping
用户需求:"我需要将所有Salesloft活动同步到HubSpot,以便营销团队能看到销售触点。"
技能处理:
- 检查原生集成(Salesloft-HubSpot集成已存在)
- 指导原生集成的设置和字段映射
- 定义同步方向(Salesloft → HubSpot,单向活动同步)
- 解决重复数据和冲突问题 结果:配置完成的原生集成,同步方向和字段映射清晰
Example 3: HubSpot MQL → Apollo sequence
示例3:HubSpot MQL → Apollo序列
User says: "When a lead hits MQL status in HubSpot, I want to auto-enroll them in an Apollo sequence."
Skill does:
- Designs trigger: HubSpot workflow on lifecycle stage = MQL
- Recommends Zapier (HubSpot trigger → Apollo "Add Contact to Sequence" action)
- Provides field mapping from HubSpot to Apollo contact fields
- Adds error handling (what if contact already exists in Apollo, what if sequence is full) Result: MQL-triggered enrollment with field mapping and error handling
用户需求:"当HubSpot中的线索达到MQL状态时,我想自动将他们加入Apollo序列。"
技能处理:
- 设计触发条件:HubSpot工作流监控生命周期阶段变为MQL
- 推荐使用Zapier(HubSpot触发 → Apollo「将联系人添加到序列」操作)
- 提供HubSpot到Apollo联系人字段的映射配置
- 添加错误处理逻辑(如果联系人已存在于Apollo、序列已满的情况) 结果:实现由MQL触发的序列加入,包含字段映射和错误处理
Troubleshooting
故障排查
Sync creating duplicates
同步创建重复数据
Symptom: Same contact appearing multiple times in destination tool
Cause: Missing dedup logic — sync creates new records instead of matching existing ones
Solution: Add matching/dedup step before create. Match on email address (primary key). Use CRM's native dedup rules. For Zapier, use "Find or Create" actions instead of "Create."
症状:同一联系人在目标工具中多次出现
原因:缺少去重逻辑——同步时创建新记录而非匹配现有记录
解决方案:在创建记录前添加匹配/去重步骤。以邮箱地址为主键匹配。使用CRM的原生去重规则。对于Zapier,使用「查找或创建」操作而非「创建」操作。
Events not firing
事件未触发
Symptom: Webhook or trigger not executing when expected
Cause: Webhook URL misconfigured, event type wrong, or tool's webhook delivery failing
Solution: Check webhook logs in the source tool. Test with a webhook debugging tool (webhook.site or RequestBin). Verify the event type matches exactly. Check if the webhook was disabled after errors.
症状:webhook或触发条件未按预期执行
原因:webhook URL配置错误、事件类型错误、工具的webhook交付失败
解决方案:检查源工具中的webhook日志。使用webhook调试工具(webhook.site或RequestBin)测试。验证事件类型是否完全匹配。检查webhook是否因错误被禁用。
Rate limit errors in high-volume sync
高容量同步中的速率限制错误
Symptom: 429 errors, sync falling behind, or events being dropped
Cause: Sending too many API requests too quickly
Solution: Implement batching (batch multiple records per request where API supports it). Add exponential backoff on 429 responses. Reduce sync frequency (every 5 min instead of real-time). Use bulk API endpoints where available.
症状:收到429错误、同步滞后或事件丢失
原因:发送API请求的速度过快
解决方案:实现批量处理(在API支持的情况下,每个请求批量处理多条记录)。对429响应添加指数退避机制。降低同步频率(从实时改为每5分钟一次)。使用可用的批量API端点。